Javascript 表单不会通过ajax提交

Javascript 表单不会通过ajax提交,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我在一个div中有一个表单,我想通过另一个页面提交该表单,该页面将运行查询,然后再次返回到第一个页面,所有表单都在一个较大页面的div中 我已将以下javascript放在页面顶部: <script name='addactivity'> function submitForm() { $.ajax({type:'POST', url: 'activity_new.php', data:$('#newactivity').serialize(), succes

我在一个div中有一个表单,我想通过另一个页面提交该表单,该页面将运行查询,然后再次返回到第一个页面,所有表单都在一个较大页面的div中

我已将以下javascript放在页面顶部:

<script name='addactivity'>
    function submitForm() {
        $.ajax({type:'POST', url: 'activity_new.php', data:$('#newactivity').serialize(), success: function(response) {
            $('#newactivity').find('.activities').html(response);
        }});

        return false;
    }
    </script>

函数submitForm(){
$.ajax({type:'POST',url:'activity_new.php',data:$('#newactivity')).serialize(),success:function(response){
$('#newactivity').find('.activities').html(响应);
}});
返回false;
}
并将表格放在div中,如下所示:

<form id='newactivity' method="post">
        <b>Activity Number:</b><input type=text name='activitynumber' class='textborder'>   
        <b>Title:</b><input type=text name='activitytitle' class='textborder'>
        <b>Time (mins):</b> <input type=text name='activitytime' class='textborder'>
        <b>Leaders:</b> <input type=text name='leaders' class='textborder'><br>
        <b>Description:</b><textarea name='activitydescription' class='textareaborder'></textarea>
        <input type='submit' value='Submit' id='submit'></form>
<div id="activities"></div>

活动编号:
标题:
时间(分钟):
领导者:
说明:
“提交”按钮似乎没有任何作用。它应该将值发布到activity_new.php,如下所示:

<?php
session_start();
$input2=$_SESSION[ 'unitid' ];

        $meetingid=$_POST['meetingid'];
        $activitynumber=$_POST['activitynumber'];
        $activitytitle=$_POST['activitytitle'];
        $activitytime=$_POST['activitytime'];
        $leaders=$_POST['leaders'];
        $activitydescription=$_POST['activitydescription'];

include 'connect_db.php'; 

$q1c="INSERT into activities (meetingid, unitid, activitynumber, title, description, time, leaders) VALUES ('$meetingid', '$input2', '$activitytitle', '$activitydescription', '$activitytime', '$leaders')";
$r1c = mysqli_query($dbc,$q1c); 

echo $meetingid;
echo $activitynumber;
echo $activitytitle;

//header("location:editmeeting.php?id=$input2");

?>

根据您的代码,当您单击按钮时,它不会触发onsubmit()事件

如果您更改按钮类型以提交,它将起作用,因为您已将
return false
添加到您的函数中

<input type='submit' value='Submit'>
Jquery

    $(document).ready(function(){
   $(document).on('click','#submit',function(){

     $.ajax({type:'POST', url: 'activity_new.php', data:$('#newactivity').serialize(), success: function(response) {
        $('#newactivity').find('.activities').html(response);
    }}); 

  });
  }); 
注意:下面是成功函数中的代码。表单中没有名为“
”的元素。活动“
。确保使用正确的选择器属性

 $('#newactivity').find('.activities').html(response);

只需更改输入类型:

<input type='submit' value='Submit'>
             ^^^^^

^^^^^

Um。。。检查你的价值观。您正在为它们中的大多数输入字符串,而不是POST数组中的变量。另外,你对SQL注入持开放态度。我知道这与你的问题无关,但在“=”之间加空格是非常难看的格式,请停止这样做。而且,有时你在使用
,有时使用
,有时什么都不用。这很难看=(旁注,您需要删除php脚本中的
标题
调用。这在ajax调用中没有任何用处。而且
#newactivity
表单中没有
.activities
元素,因此您将看不到预期的输出。谢谢,修复了值并对格式进行了排序。您可能需要添加在修复此问题之后,下一个问题是
.activities
元素在
#newactivity
表单:-)中没有添加@jeroen完整表单。但是正如您看到的,如果没有按钮,类型submitForm()将不会调用:)别误会,你的答案很好,但你可以让它更完整。结束表单标签也在按钮后面,所以我猜我们看到了整个表单。@jeroen是的,你是rite.让我更新答案以标记缺少的字段提交按钮现在启动,但它会重新加载包含所有div的页面。脚本我是using是'function submitForm(){$(document).on('click','#submit',function(){$.ajax({type:'POST',url:'activity_new.php',data:$('#newactivity').serialize(),success:function(response){$('#newactivity').find('activities3').html(response);}})“我已经删除了新的_活动页面的标题部分,并将其设置为回显所发布的内容,以便我可以检查它是否正在通过,但它没有出现。
<input type='submit' value='Submit'>
             ^^^^^