-1

次のようなHTMLファイルがあります。

        Input 1: <input type="text" required="false" /><br>
    Input 2: <input type="text" required="true" /> *<br>
    Input 3: <input type="text" required="false" /><br>
    Input 4: <input type="text" required="false" /><br>
    Input 5: <input type="text" required="true" /> *<br>
    Input 6: <input type="text" required="false" /><br>
    Input 7: <input type="text" required="true" /> *<br>
    <input type="button" id="subButton" value="Run" />

これは私のjQueryスクリプトです:

$(document).ready(function(){
                $("#subButton").click(function(){

                    //Copy START
                    var setError = false;
                    $.each($(":input"), function(e){
                        if(($(this).attr("required") == "true") && (this.value == "")){
                            setError = true;
                        }
                    });
                    if(setError != false) alert("Not all required fields are filled");
                    //Copy END

                });
            });

attrを「type」に変更すると、すべてのボックスに入力しなくても機能します。しかし、私はこれを必要な属性で使用したいと思います。

何かアイデア、なぜそれが機能しないのですか?

手伝ってくれてありがとう

4

3 に答える 3

3

required間違った使い方をしています。HTML の場合は、次のようになります。

<input type="text" required />

XHTML の場合は、次のようになります。

<input type="text" required="required" />

そして、次を使用してjQueryを使用してアクセスする必要があります$.prop()

if($("input").prop("required")) { ... }

data-*それ以外の場合は、次のように属性を自由に使用できます。

data-reqd="yes"

そして、次を使用してアクセスします。

if ($(this).data("reqd") == "yes") { ... }
于 2013-01-30T11:35:04.060 に答える
0

使用する

data-required="true/false"

それから

if ($(this).data("required")) ...
于 2013-01-30T11:32:55.227 に答える
0

required<input>はs の公式の (「独自に定義された」ものではない) 属性であり、ブール値です-"false"は無効な値です。また、これにjQueryを使用するattrと、いくつかの癖が追加されるため、文字列が返されます"required"required実際にブール値を返すプロパティを使用することをお勧めします。

Input 1: <input type="text" /><br>
Input 2: <input type="text" required /> *<br>
Input 3: <input type="text" /><br>
Input 4: <input type="text" /><br>
Input 5: <input type="text" required="" /> *<br>
Input 6: <input type="text" /><br>
Input 7: <input type="text" required="required" /> *<br>
<input type="button" id="subButton" value="Run" />

<script type="text/javascript">
    $(document).ready(function(){
         $("#subButton").click(function(){
             var setError = false;
             $(":input").each(function(e){
                 if ( this.required && this.value == "" )
                     setError = true;
                 }
             });
             if ( setError )
                 alert("Not all required fields are filled");
         });
     });
</script>
于 2013-01-30T11:40:52.820 に答える