表单不会通过ajax提交
Form wont submit via ajax
我在一个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>
并将表单放置在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");
?>
我目前在包含div的主页上有javascript,但也在表单为的页面顶部尝试过它。我还尝试过这两种组合,其中onsubmit = "return submitForm();"
作为按钮本身的onclick = "return submitForm();"
。
根据您的代码,当您单击按钮时,它不会触发onsubmit()事件。
如果您将按钮类型更改为提交,它将在您将return false
添加到功能时工作
<input type='submit' value='Submit'>
或者使用以下代码。您可以使用按钮点击事件使用jquery
通过ajax
提交表格
HTML
<input type='button' value='Submit' id="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);
}});
});
});
注意:来自下面的成功函数代码。表单中没有名为'.activities'
的元素。请确保使用正确的选择器属性。
$('#newactivity').find('.activities').html(response);
只需更改输入类型:
<input type='submit' value='Submit'>
^^^^^
相关文章:
- 表单不会通过ajax提交
- 使用Ajax提交表单
- 如何创建动态ajax提交表单
- 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据
- Ajax提交多值
- jquery通过ajax验证电子邮件,然后再通过ajax提交表单
- 检测ajax提交
- 带有两个变量函数的Ajax提交表单
- 从AJAX提交中拆分数组$_FILES
- 将dataUrl转换为blob并通过ajax提交
- 带有前导散列字符的ajax提交的目的是什么
- Ruby On Rails Ajax 提交提交两次
- AJAX 表单不是 AJAX 提交
- Ajax 提交表单有时有效,有时直接重定向到操作网址
- 在使用 jQuery 验证插件进行验证后,使用 AJAX 提交表单
- 如何使用Jquery AJAX提交多个表单
- 使用ajax提交邮件表单的正确方法?-没有JQuery
- 如何使js成为通过ajax提交的rails表单的格式
- 在jquery停止事件时通过ajax提交表单
- 在AJAX提交之前使用jQuery进行多重下拉选择验证