-1

寻找一种在所有输入都被选中/不为空时启用表单提交按钮的方法。

我偶然发现了谷歌和其他 SO 问题中的片段,其中做了类似的事情,但总是只针对相同类型的输入,而不是像这里的情况那样考虑不同类型。任何想法如何做到这一点?

下面是我将使用此类片段及其链接的示例http://jsfiddle.net/bRKuV/

requiredPS寻找HTML5属性以外的解决方案。

编辑:名称为 attr 的分组收音机。

<div id="first">
    <form>
        <label>Name</label>
        <input type="text">

        <label>Email</label>
        <input type="email">

        <label>Age</label>
        <input type="number" maxlength="2">

        <label>Gender</label>
        <input type="radio" name="gender" value="m">Male</input>
        <input type="radio" name="gender" value="f">Female</input>

        <input type="submit" disabled>

    </form>
</div>
<div id="second">
    <form>
        <label>Question 1</label>
        <input type="radio" name="q1" value="y">Yes</input>
        <input type="radio" name="q1" value="n">No</input>

        <label>Question 2</label>
        <input type="radio" name="q2" value="y">Yes</input>
        <input type="radio" name="q2" value="n">No</input>

        <input type="submit" disabled>
    </form>
</div>
4

1 回答 1

2

嗯,没有比这更简单的了:

$("form").on("change", function() {
    $("input").each(function() {
        var test = {radio:1, checkbox:1}[this.type] ? $(this).is(":checked") : !!this.value;
        if(this.type !== "submit") console.log(test);
    });
});

http://jsfiddle.net/bRKuV/3/

于 2013-05-06T17:45:34.333 回答