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语句在文档准备就绪时运行,不再运行。如果它没有在文档准备就绪时验证,它将永远不会验证。如何更好?你有一个例子吗?我再次查看了你的代码-你能解释一下为什么你需要这个行表单吗;完全