Jquery提交表单没有响应

时间:2016-07-22 19:26:34

标签: jquery forms submit

出于某种原因,我的表单有一个提交按钮,表单上有一个id标记。当我进行测试以调用.submit函数时,表单就会关闭。以下是示例:http://overtheoceanfilms.com/admin/index.php(按下"操作"列中的按钮)

打开模态的链接(我从另一个加载到href标签中的页面加载表单。)

 <a href="inc/editInquiry.inc.php?id=<?php echo $row['customer_id'];?>" data-reveal-id="modal_inquiry_editUser"  data-reveal-ajax="true" id="<?php echo $row['customer_id'];?>"> <i class="fi-page-edit large"></i> </a> 

这是我的模态:

<!--INQUIRY EDIT USER -->
<div id="modal_inquiry_editUser" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">


<a class="close-reveal-modal" aria-label="Close">&#215;</a>
</div>

这是jquery,非常简单:

 $('#inquiry_editUserForm').submit(function() {

    alert('test');
});

PHP表格(editInquiry.inc.php)

<form id="inquiry_editUserForm" method="post" action="">
....stuff inside form
<button type="submit"> Update </button> 
</form>

3 个答案:

答案 0 :(得分:0)

您应该使用“点击”事件,而不是“提交”。此外,如果您不想在单击时提交,则必须使用“preventDefault”禁止默认行为,如下所示

$('#inquiry_editUserForm').click(function(e) {
    e.preventDefault();
    alert('test');
});

提醒您click事件是.on( "click", handler )

的快捷方式

答案 1 :(得分:0)

如果您要提交表单但对话框必须保持打开状态,则应使用ajax提交表单。您可以将事件附加到自己的表单或提交按钮。

如果您要使用submit事件,请务必致电preventDefault()或在结尾处返回false以取消提交操作。

$('#inquiry_editUserForm').submit(function(evt) {
    //your code goes here
    $.ajax({
        method: "POST",
        url: "some.php",
        data: $(this).serialize() //Encode form elements as a string for submission.
        //If using serialize(), name attribute in form elements is required
    })
    .done(function( msg ) {
        alert( "Data Saved: " + msg );
    });
    return false; //return false will cancel the page to reload/redirect
    //evt.preventDefault(); //or we can use preventDefault()
});

几乎相同的情况适用于提交按钮中的click事件

我查看了您的网页来源,您很快就会将您的活动附加到,而且标识为inquiry_editUserForm的元素尚未存在。因此,我建议您找到附加活动的正确位置,我认为这是在表单完全加载后。

答案 2 :(得分:-1)

您必须返回true才能继续操作。

这已经在这里得到解答:How to do something before on submit?