Javascript 表单提交后停止JS重新加载页面
我正在使用MVC框架Javascript 表单提交后停止JS重新加载页面,javascript,php,jquery,html,twitter-bootstrap,Javascript,Php,Jquery,Html,Twitter Bootstrap,我正在使用MVC框架CodeIgniter,FullCalendar,Bootstrap和Jquery创建一个网站 日历上有可单击的事件,可打开包含表单的模式对话框。 表单似乎正常工作,因为正确调用了控制器方法并更新了数据库,但我希望避免网站在提交表单后转到其他页面或重新加载。 我尝试了几种方法: e.preventDefault(); return false; 还有更多 以下是有关模式对话框和表单的HTML: <div class="modal-body"&
CodeIgniter
,FullCalendar
,Bootstrap
和Jquery
创建一个网站
日历上有可单击的事件,可打开包含表单的模式对话框。表单似乎正常工作,因为正确调用了控制器方法并更新了数据库,但我希望避免网站在提交表单后转到其他页面或重新加载。
我尝试了几种方法:
e.preventDefault();
return false;
还有更多
以下是有关模式对话框和表单的HTML:
<div class="modal-body">
<form id="myForm" action="<?=base_url()?>index.php/activite/planning_people" method="post">
<input type="hidden" id="date" name="date"/>
<input type="hidden" id="id" name="id"/>
<?php foreach ($people as $person) : ?>
<div class="checkbox">
<label><input type="checkbox" value="<?=$person['number']?>" name="people[]"><?= $person['firstname']." ".$person['lastname'] ?></label>
</div>
<?php endforeach; ?>
</div>
<div class="modal-footer">
<input class="btn btn-lg" type="submit" id="submitButton" value="Validate">
</form>
</div>
<div class="container">
<div id="bootstrapModalFullCalendar"></div>
</div>
此外,不会显示成功警报
控制器重定向到空白页:
public function planning_people() {
$people = $this->input->post("people[]");
$id = $this->input->post("id");
$date = $this->input->post("date");
$this->EZ_query->delete_planning($id, $date);
if ($people != null) {
foreach ($encadrants as $key => $no) {
$this->EZ_query->add_planning($id, $date, $no);
}
}
}
我的问题已经解决了很多次,我检查了很多相同问题的stackoverflow页面,但都没有成功。请帮忙谢谢第一次:您需要使用
提交
到表单,而不是提交按钮
$('#myForm').submit(function(e) {
而不是
$('#submitButton').submit(function(e) {
2nd:您忘记了在myForm
id之前的
签名
data: $(this).serializeArray(), // or data: $("#myForm").serializeArray(),
而不是
data: $("myForm").serializeArray(),
1st:您需要使用
submit
提交表单,而不是submit按钮
$('#myForm').submit(function(e) {
而不是
$('#submitButton').submit(function(e) {
2nd:您忘记了在myForm
id之前的
签名
data: $(this).serializeArray(), // or data: $("#myForm").serializeArray(),
而不是
data: $("myForm").serializeArray(),
每次他们单击某个内容时,您似乎都在创建一个新的
submit
处理程序。什么时候启动eventClick
?另外,.submit(…)
方法不应该应用于表单而不是按钮吗?@MikeCeventClick
会在用户每次单击日历上的事件时启动(用户从下午1点到3点单击“会议”)@MikeC我已经根据您所说的修改了JS部分。谢谢你的评论,我不会意识到这个错误,因为每次他们点击某个东西时,你都在创建一个新的submit
处理程序。什么时候启动eventClick
?另外,.submit(…)
方法不应该应用于表单而不是按钮吗?@MikeCeventClick
会在用户每次单击日历上的事件时启动(用户从下午1点到3点单击“会议”)@MikeC我已经根据您所说的修改了JS部分。谢谢,对于评论,我不会意识到这个错误谢谢你的回答,我以为它起作用了,但它没有:/submit函数在没有按预期刷新页面的情况下被调用。不幸的是,现在提交的表单是空的。我的意思是,在调试窗口中,我们可以看到对控制器方法的POST
调用,但是没有元素,alert(data)
也显示空的box@ElliottAddi在你的代码中更新了另一个问题的答案非常感谢@MohamedYousef@埃利奥塔迪,不客气。祝您度过愉快的一天:-)谢谢您的回答,我原以为它能工作,但实际上不行:/submit函数在未按预期刷新页面的情况下被调用。不幸的是,现在提交的表单是空的。我的意思是,在调试窗口中,我们可以看到对控制器方法的POST
调用,但是没有元素,alert(data)
也显示空的box@ElliottAddi在你的代码中更新了另一个问题的答案非常感谢@MohamedYousef@埃利奥塔迪,不客气。祝你今天愉快:-)