Javascript 更改表单的onsubmit属性以提交表单是一种好的做法吗?
我有这样的代码Javascript 更改表单的onsubmit属性以提交表单是一种好的做法吗?,javascript,html,ajax,jquery,Javascript,Html,Ajax,Jquery,我有这样的代码 <form onsubmit="return false;" id="myform"> <input type="text" id="data"/> <input type="submit" value="Submit" id="submitForm" /> </form> <script> $(document).ready( function() { var form = $('#myform');
<form onsubmit="return false;" id="myform">
<input type="text" id="data"/>
<input type="submit" value="Submit" id="submitForm" />
</form>
<script>
$(document).ready( function() {
var form = $('#myform');
var result = form.find('#data').val() != "";
if ($.data( form, 'validated' ) && result) {
return true;
}
else
$.data( form, 'validated', false );
$.post( 'http://myweb/action', form.serialize(), function (data) {
var json_result = $.parseJSON(data);
if (result && json_result.is_valid) {
$.data( form, 'validated', true );
form.attr('onsubmit', 'return true;' );
form.submit();
}
else {
alert( 'There is an error in the form data!' );
}
}
});
</script>
这是一种很好的做法吗?仅供参考。你想做什么就做什么
form.attr('onsubmit', 'return true;' );
这并不好,因为通过直接设置onSubmit属性,您正在终止可能绑定到submit事件的其他处理程序 将onsubmit用作元素属性根本不是好的做法。代码有点难以理解这不是一个完整的示例,对吗?我建议您使用jquery验证插件进行验证。您的代码在逻辑上没有意义。if语句在文档准备就绪时运行,不再运行。如果它没有在文档准备就绪时验证,它将永远不会验证。如何更好?你有一个例子吗?我再次查看了你的代码-你能解释一下为什么你需要这个行表单吗;完全