jQuery:按钮原因验证

标签 jquery jquery-ui

在我的表单中,我有一个普通的提交按钮,用于验证我的表单,例如,我有

$("#formTest").submit(function (e) {
        alert('test');
});

<form id="formTest">
    <input type="text"/>
    <button>Test</button>
    <input id="submitButton" type="submit" value="Save" />
</form>

但是当我单击“测试”(而不是“保存”按钮)时,会显示alert()。 这是一个简单的示例,但就我而言,jQuery 会验证我在这种情况下的所有输入。

如何才能有一个没有提交效果的按钮?

比你强

最佳答案

基本上这与验证无关。这只是纯粹的表单提交。为了防止您的表单在单击“测试”按钮时提交,您应该向其附加一个单击事件处理程序并取消事件的传播。

$("button").click(function(evt){
    evt.preventDefault();
    return false;
});

为什么会发生这种情况?

问题是,当您单击测试按钮时,您的表单将被提交,因为默认按钮类型(在您的情况下未提供时)将为提交。检查W3C Specification .

这仅仅意味着通过提供 type="button" 也会改变此提交行为。但这取决于手头的问题(显然不是简化示例中提出的问题)。

关于jQuery:按钮原因验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299471/

相关文章:

javascript - 为什么我的 jQuery ajax 调用不成功

javascript - 将 JSON 值从 JavaScript 传递到 JSP

javascript - 将 jQuery.resizing API 应用于 HTML 表失败

php - JQuery UI 在多个列表上拖放和重新排序

jqueryui对话框,滑动方向

jquery - 在 btn-group twitter-bootstrap 中隐藏按钮

javascript - 在主页上将类添加到正文

jquery - 如何将 $(document).ready 函数应用于异步加载的元素?

jquery - 将 jQuery 自动完成项呈现为内联 block

Jquery UI Accordion 不适用于嵌套表