所以我使用这个Javascript来处理表单:
$(':submit:not(.form-default-submit)').click(function(event) {
//Disable normal form submission, handle using ajax
});
在大多数情况下,它可以正常工作。因此,忽略具有类form-default-submit
的任何提交元素,并且在此Javascript中处理所有其他元素。
但我刚刚注意到这对Ajax生成的内容不起作用。我猜测是因为在加载Ajax内容之前,这段代码是在页面加载时运行的。
我看到人们使用:
$(document).on("click", selector, function(e){
作为解决此问题的方法。但就我而言,我并不是直接将它应用于元素。我有条件允许具有类form-default-submit
的元素的例外。
使用新的Ajax支持的方法执行此操作的唯一方法是在函数内部使用if语句检查元素是否具有特定类?或者我可以在选择器本身内执行此操作吗?这有点高于我目前的能力,所以感谢您的帮助!
答案 0 :(得分:1)
试试这个:
$(document).on( "click",":submit:not(.form-default-submit)", function(e){
答案 1 :(得分:0)
您可以将submit
事件直接绑定到表单和return false
。这也将捕获使用enter
密钥发送的表单。
$("#form").on("submit", function(event){
// Send form data by AJAX
$.post(...);
// Prevent form to be sent the regular way
return false;
});