将jQuery脚本挂钩到<input />和<button>标记中

时间:2015-09-17 20:55:15

标签: javascript jquery html ajax forms

我正在使用以下Javascript代码来处理ajax中的所有表单:

$(':submit:not(.form-default-submit)').click(function(event) {
    //Disable normal form submission, handle using ajax
});

这会挂钩所有标签,例如

<input type="submit">

没有班级form-default-submit

不幸的是,我发现这并没有发现button标签,例如:

<button type="submit"></button>

我想发生这种情况。

是否可以修改此Javascript以挂钩来自一个函数的两个元素?或者我是否必须为每个元素使用两个单独的.click事件?

3 个答案:

答案 0 :(得分:2)

您可以使用 , 分隔 multiple selector

$(':submit,button[type="submit"]').not('.form-default-submit').click(function(event) {
    //Disable normal form submission, handle using ajax
});

或者您可以使用 attribute selector

$('[type="submit"]:not(.form-default-submit)').click(function(event) {
    //Disable normal form submission, handle using ajax
});

答案 1 :(得分:0)

您可以使用逗号分隔:

$(':submit:not(.form-default-submit), button[type=submit]:not(.form-default-submit)').click(function(event) {
    //x
});

在这里摆弄:http://jsfiddle.net/0c1q9aqd/

答案 2 :(得分:0)

这应该有效:

$(':submit:not(.form-default-submit), input[type=submit]').click(function(event) {
    //Disable normal form submission, handle using ajax
});