2016-07-22 71 views
1

出于某种原因,我的表单有一个提交按钮,表单上有一个id标记。当我做一个测试来调用.submit函数时,表单就会关闭。这里是例子:(我从被在href标记加载其他页面加载的形式)http://overtheoceanfilms.com/admin/index.php(按在“操作”列中的按钮)jquery提交表单没有回应

打开模式的链接

<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 Form(editInquiry.inc.php)

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

所以,你想提交你的表单,但对话框必须保持打开状态? –

+0

是的 - 我更新了上面的代码以显示更多 – Mike

+0

我所要做的就是确保它调用函数并发出“测试”警报。它不 – Mike

回答

-1

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

这是已经在这里找到答案:How to do something before on submit?

+0

仍然没有运气。我的问题是别的,只是不能指出它。 – Mike

+0

我给你正确的答案上面问的问题...我们应该看到更多的代码来调试它actaully,@MikeCerveni –

+0

更新后的代码现在 – Mike

0

您应该使用“click”事件,而不是“提交”。此外,如果你不想在此刻提交你点击,则必须禁用默认行为与“的preventDefault”,类似这样的

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

只是一个提醒,click事件是.on("click", handler)

+0

如果你将一个'click'事件附加到整个表单上,它会在每次点击触发时触发 –

+0

更新代码以显示更多。所有我想要做的是确保它调用函数并警告“测试”。它不 – Mike

+0

我访问了例行url并打开了表单,如果我手动绑定事件,使用浏览器控制台它的工作,试试看。也许这个问题与你约束事件的时刻有关。 – Guilherme

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事件提交按钮


我接过来一看你的网页的源文件,你尽快安装相关活动,并与ID inquiry_editUserForm元素不存在。所以,我建议你找到合适的位置来附加事件,并且我认为它是在表单完全加载之后。

+0

谢谢!我意识到这一点 - 我遇到的问题是当我按下提交按钮它甚至不承认.submit函数。但是如果我使用带有onclick事件的按钮,它将触发该功能。 – Mike

+0

如果你现在进入页面,有一个'客户'链接,我已经在其中创建了一个带有表单的模式,当你按下提交按钮时,它确实可以识别.submit函数并提醒'测试'。 – Mike

+0

@MikeCerveni我更新了我的答案 –