我有一个简单的表单,用户可以编辑他们的个人资料数据,然后点击"提交"
我在提交按钮上有一个拦截点击事件,这样我就可以在继续提交之前运行一些任意的客户端验证。
$(function() {
$("body").on("click", "#user-profile input.submit", function(e) {
// Prevent the submit from continuing
e.preventDefault();
// Do some validation stuff here
//
//
// Assuming above was succesful, continue with original submit
$("#user-profile form.edit_user").submit();
});
});
我喜欢在拦截之前访问正在提交按钮的实际表单数据POST
。更具体地说,表单包含几个Rails嵌套属性,因此我也喜欢使用相同嵌套格式的数据。
表格POST
数据参数是否可用?或者我是否因使用$("css.selector").val()
手动从输入字段中提取数据?
谢谢!
答案 0 :(得分:0)
您可以将监听器添加到表单事件submit,而不是单击
$("body").on("submit", "form", function(e) {
var valid = true;
// Do some validation stuff here
//
//
if (!this.inputName.value) valid = false;
// Prevent the submit from continuing if invalid
if (!valid) e.preventDefault();
});
因此,如果表单元素无效e.preventDefault();
将阻止提交,则会以其他方式提交。