2013-10-03 24 views
86

jQueryがすべての入力フィールドにhtml5検証を使用して自動的に書き込むようにする方法を探していましたが、どこに書き込むのが問題なのですか?jQuery addフィールドを入力する必要があります

私は私が

$("input").attr("required", "true"); 
の線に沿っていろいろ書いを行うことができると思ったこの

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150"> 

を取ると、それが自動的に閉じタグ

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150" required> 

必要を追加したいです

しかし、動作しません。どんな助けでも大歓迎です。

+1

DOM準備はできていませんか? – PSL

+0

私はこれを使用していますhttp://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+0

'入力'がjqueryがセレクタに#がない場合のIDです。 –

答えて

229
$("input").prop('required',true); 

DEMO FIDDLE

+1

賛成ボタンを追加しましたが、入力フィールドに必要な属性を検証したり追加したりしていません。 http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+1

@AoiHanaうまく動作します。 http://jsfiddle.net/LEZ4r/1/ – Unknown

+0

'input'がidの場合、jqueryはセレクタ内に#がありません。 –

33

あなたはATTR、あなたが作った間違いは、あなたが引用符の内側に真を置くことである使用することによってそれを行うことができます。代わりにこれを試してみてください:

$("input").attr("required", true); 
+0

'input'がidの場合、jqueryはセレクタ内に#がありません。 –

+2

@JohnMeyer "input"はタグセレクタの名前です – dave4jr

1

jquery 1.11.1ではこれが確実に行われませんでした。

$('#estimate').attr('required', true)$('#estimate').removeAttr('required')を使用しました。

削除するrequiredは信頼性が低くなりました。値なしでrequired属性を残すことがありました。 requiredはブール値のアトリビュートなので、価値のない単なる存在はブラウザによってtrueと表示されます。

このバグは断続的でしたが、私はそれを乱して疲れました。 document.getElementById("estimate").required = truedocument.getElementById("estimate").required = falseに切り替えました。

+0

'removeAttr'は私にとっては機能しません。その後、私はあなたのソリューションを使用し、正常に動作します。ありがとう! –

17

私は、次の実装が有効であることを発見した:

$('#freeform_first_name').removeAttr('required'); 

$('#freeform_first_name').attr('required', 'required'); 

これらのコマンドは(ATTR、removeAttr、小道具)は、使用しているjQueryののバージョンによって動作が異なります。以下のドキュメントを参照してください:https://api.jquery.com/attr/

関連する問題