0

私はブートストラップと Jquery 2.0 を使用しています。フォームを送信しようとすると、フォームが無効な場合はクラス「エラー」を追加します。なぜこれがうまくいかなかったのかわかりません。助けてもらえますか?

     function validate(){   
         if (isEmpty($('inputName').value)){
             $("#name").addClass("error");
             }
         }


     function isEmpty(texto){
        if (texto == null || texto.length==0 || /^\s+$/.test(text))
            return true;
        else 
            return false;
    }

編集:

なぜこれが機能するのですか?

     function validate(){   
         if (isEmpty($('inputName').value)){
             alert("error");
             }
         }

そしてaddclassは機能しません:

     function validate(){   
         if (isEmpty($('inputName').value)){
             $("#name").addClass("error");
             }
         }

HTML:

      <div class="control-group" id="name">
        <label class="control-label" for="input">Name</label>
        <div class="controls">
          <input type="text" id="inputName" placeholder="Name">
        </div>
      </div>
4

3 に答える 3

3

jQuery オブジェクトには value プロパティがありません。必要なのは val メソッドです。また、おそらく持っていない要素$('inputName')を選択しようとします.IDがあれば、それを行うことができます<inputName>inputName

 isEmpty($('#inputName').val())
于 2013-06-14T02:16:18.810 に答える
3

比較してみてください$("#inputName").val()(括弧に注意してください)。あなたがしているのは、valueそこにあるかもしれないし、ないかもしれない属性の存在をチェックすることですが、それが理にかなっていれば、それは値の値ではありません。

于 2013-06-14T02:16:36.330 に答える
0

あなたは交換することができます

(texto == null || texto.length==0 || /^\s+$/.test(text))

$.trim(texto) === ''

また、== や != を使用しないでください。代わりに === と !== を使用してください。

于 2013-06-14T02:31:48.357 に答える