拦截动态添加的表单提交
Intercept a dynamic added form submission
可以找到正常的表单提交截距。但是,我的班级不同。表单是在调用函数后动态添加的。然后,无法捕获表单提交。
如何捕获这样的表单提交?最好使用Jquery,但更改动态添加的表单属性是可以接受的
以下是示例。以下是我获取表单提交的方式。
$(function() {
$(".formClass").submit(function(e) {
e.preventDefault();
var actionurl = e.currentTarget.action;
alert(actionurl);
});
});
以下是调用函数-eObj.getFormElement()后添加表单的方式
(function($){
function(eObj) {
var selector = "#abc";
//Call the function to get the form elements
eObj.getFormElement(langObj, function(err, x) {
var elem = "<ul>";
for (var i=0; i<x.length; i++) {
var formId = elementId + "_sform_" + i;
elem = elem + "<li class='product_" + i + "'>"
for (var key in x[i]) {
elem = elem + "<div class='price'>" + curMap[curKey] + x[i][key].price + "</div>";
elem = elem + "<div class='s'><form id='" + formId +"' class='formClass' method='post' action='" + x[i][key].url + "'>"
+ "<input class='s_btn' type='submit' value='" + submitLabel + "'>"
+ "</form></div>";
}
elem = elem + "</li>";
}
elem = elem + "</ul>";
//Append the form to the div after we create the forms
$(selector).append(elem);
});
}})(jQuery);
由于不能为不存在的元素设置事件,因此需要为现有元素设置事件。
在这种情况下,您可以使用document
来获取事件。
http://jsfiddle.net/h189o3xc/
这是一个示例代码。
$(document).on("submit",function(e){
if($(e.target).hasClass("formClass")){
e.preventDefault();
console.log("you can catch the event!");
//and do whatever you want.
}
});
为文档设置一个事件,每当发生任何submit
事件时,请检查它是否是您的目标表单。然后做任何你想做的事,如果它是你的目标形式。
已编辑正如@charlietfl所提到的,您可以使用额外的on
函数的参数来代替if
语句。
代码大概是。。
$(document).on("submit",".formClass",function(e){
e.preventDefault();
console.log("you can catch the event!");
//and do whatever you want.
});
http://jsfiddle.net/h189o3xc/2/
相关文章:
- 动态添加/复制表单时绑定到表单提交事件
- 拦截动态添加的表单提交
- 如何将多个条件添加到表单提交或文本框输入中
- 如何为表单提交添加选择器,仅当特定按钮类型导致表单提交时
- WordPress - 访问简码 HTML 并添加表单验证以停止空表单提交
- JQuery 暂停表单提交,添加帖子数据,然后提交
- 向文件 php 表单提交添加多个输入
- 当我添加一行时无法阻止表单提交
- 在表单提交中添加额外的 GET 变量
- 是否可以将跟踪添加到Hubspot表单提交按钮
- 如何在提交时向表单中添加新的隐藏输入字段
- 当我试图在表单中添加新元素时,Symfony2表单在提交时无效
- 表单提交后添加动态文本框
- 如何使用JavaScript函数在HTML表单中添加提交按钮
- 在成功的表单提交上添加一个Javascript警报
- 添加“this.disabled"单击以停止重复的表单提交
- 我如何在html5表单中添加确认对话框到提交按钮
- 添加选定的选择选项,以jquery表单提交
- 在提交表单时添加加载gif
- 监听所有表单提交事件,包括动态添加的表单