Javascript 表单不会通过ajax提交
我在一个div中有一个表单,我想通过另一个页面提交该表单,该页面将运行查询,然后再次返回到第一个页面,所有表单都在一个较大页面的div中 我已将以下javascript放在页面顶部: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
<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'>
^^^^^