如何避免表单提交错误?

LA_*_*LA_ 5 javascript forms jquery

我有如下形式

<form id="myform" class="form-horizontal" class="collapse in">
    <fieldset>
        <!-- form fields are here -->
        <div class="form-actions">
          <button class="btn btn-inverse" id="search" name="search" data-loading-text="Searching...">Search</button>
        </div>
    </fieldset>    
</form>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码在按下按钮后进行操作:

$("#search").click(function() {
    try {
        // some javascript with syntax error is here
    } finally {
        return false; // don't submit form automatically
    }
});
Run Code Online (Sandbox Code Playgroud)

但如果我的 javascript 包含语法错误,则无论try .. finally. 我该如何解决这个问题?该表单不应自动提交。

Con*_*ons 2

将按钮类型设置为“按钮”。

按钮:按钮没有默认行为。它可以具有与元素事件关联的客户端脚本,这些脚本在事件发生时被触发。

<button type="button"...>Search</button>
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,表单根本不会提交,除非您告诉它通过 Javascript 显式提交。

请参阅 HTML5 规范来了解这个简单的解决方案。http://www.w3.org/TR/2011/WD-html5-20110525/the-button-element.html#attr-button-type