仅在填写所有字段时启用提交按钮

Hen*_*son 6 html forms jquery

在我的表单中,我想只在选择了所有字段(和单选按钮列表)时启用表单.

到目前为止,enabletitle字段包含以下内容时,我已成功完成提交按钮:

onkeyup="if(this.textLength != 0) {subnewtopic.disabled = false} else {subnewtopic.disabled = true}"
Run Code Online (Sandbox Code Playgroud)

我的目的是只在所有内容都填满后启用提交按钮.我该怎么做呢?

这是我的工作jsfiddle的完整代码:

            <form action="" method="post" id="subnewtopicform" />

                Title:
                <input type="text" name="title" onkeyup="if(this.textLength != 0) {subnewtopic.disabled = false} else {subnewtopic.disabled = true}">

<br/>

                Description:
                <textarea name="description"></textarea> 

<br/>
                Category:
<ul class="list:category categorychecklist form-no-clear" id="categorychecklist">

<li id="category-19"><label class="selectit"><input type="radio" id="in-category-19" name="category" value="19"> Animation</label></li>

<li id="category-20"><label class="selectit"><input type="radio" id="in-category-20" name="category" value="20"> Anime</label></li>

    </ul>

                <input type="submit" value="Submit Topic" class="button-primary" name="subnewtopic" id="subnewtopic" disabled="disabled" /> 

            </form>
Run Code Online (Sandbox Code Playgroud)

San*_*ova 6

在标记内使用"required"命令.

编辑:即使使用单选按钮.你只需选择一个.这是JSFiddle:http: //jsfiddle.net/soyn0xag/3/

编辑2:添加了一个新的工作JSfiddle与您的请求,以保持禁用提交按钮,直到所有字段都有内容.我使用了jquery,并且在所有可打字字段都有内容之后提交按钮是可用的,并且仍然需要单选按钮以及那个漂亮的弹出窗口:http: //jsfiddle.net/soyn0xag/9/

一旦从其中一个字段中删除内容,此选项将再次禁用该按钮.我相信这就是你想要的.

编辑3 - 最终修复修复了一个错误,让提交按钮提前显示:http: //jsfiddle.net/soyn0xag/36/

只要提交按钮包含在同一个标​​记中,您就无法在现在需要的输入字段中提交没有内容的内容.

例:

<input type="radio" id="in-category-19" name="category" value="19" required> Animation</label>
Run Code Online (Sandbox Code Playgroud)

请注意,required不使用引号或任何其他分隔符.


eg_*_*dac 6

这是给你的小提琴。http://jsfiddle.net/soyn0xag/6/

$("input[type='text'], textarea").on("keyup", function(){
    if($(this).val() != "" && $("textarea").val() != "" && $("input[name='category']").is(":checked") == true){
        $("input[type='submit']").removeAttr("disabled");
    } else {
        $("input[type='submit']").attr("disabled", "disabled");
    }
});

$("input[name='category']").on("change", function(){
    if($(this).val() != "" && $("textarea").val() != "" && $("input[name='category']").is(":checked") == true){
        $("input[type='submit']").removeAttr("disabled");
    } else {
        $("input[type='submit']").attr("disabled", "disabled");
    }
});
Run Code Online (Sandbox Code Playgroud)