入力フィールドにjQuery addが必要


171

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

これを撮りたい

 <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>

に沿って何かをすることができると思った

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

しかし、それは機能しません。どんな助けでも大歓迎です。


2
ドムに包まれていませんか?$(function(){....});
PSL 2013年

私はこれを使用していますjsfiddle.net/japaneselanguagefriend/LEZ4r
三浦市

'input'がidの場合、jqueryのセレクターの#がここにありません。
John Meyer

@JohnMeyer "input"はタグセレクターです。入力タグをターゲティングする場合は必要ありません
Spartacus 2017年

回答:


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

DEMO FIDDLE


1
送信ボタンを追加しましたが、入力フィールドに必要な属性をまだ検証または追加していません。jsfiddle.net/japaneselanguagefriend/LEZ4r
三浦市

1
@JohnMeyer "input"はタグセレクタです
morefromalan

1
TypeError: element.prop is not a functionエラー
davideghz

@三浦市<form></form>jsFiddle のタグがありません
JESTech

それが誰かを助けることができるならば:それを呼び出す.prop('required',true)に私が入力を呼び出していたので、これは私にとって最初はうまくいかなかった。.css("display", "block")
エレクトロタイプ

52

あなたはattrを使用してそれを行うことができます、あなたがした間違いはあなたが本当の引用符の中に入れることです。代わりにこれを試してください:

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

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

requiredあるブール(すなわち属性としか(「偽」のために)を省略しなければならない、またはその名前と同じ値を持つ"required"「真」のため)。実際にはを使用する方が適切.prop()です。
アルニタク

@AlnitakあなたがIEと互換性のあるサイトを作ることに取り組んでいるのでなければprop()、最新のブラウザのようにそこでは働きません。それでも使用$(ele).attr("required", true)falseて削除するのが最善です。
Oliver Heward

29

次の実装が効果的であることがわかりました。

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

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

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


6

.attrメソッドの使用

.attr(attribute,value); // syntax

.attr("required", true);
// required="required"

.attr("required", false);
// 

使用する .prop

.prop(property,value) // syntax

.prop("required", true);
// required=""

.prop("required", false);
//

詳細はこちらから

https://stackoverflow.com/a/5876747/5413283


4

jquery 1.11.1はこれを確実に実行しないことがわかりました。

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

削除requiredは信頼できませんでした。required値のない属性が残る場合があります。のでrequiredブールattibuteている場合、その単なる存在は、値なし、としてブラウザによって見られていますtrue

このバグは断続的で、私はそれをいじるのに飽きました。切り替えるdocument.getElementById("estimate").required = truedocument.getElementById("estimate").required = false


removeAttrうまくいきません。それから私はあなたの解決策を使い、うまくいきます。ありがとう!
Diego Somar

4

true二重引用符 ""で囲まないでください。

$(document).ready(function() {            
   $('input').attr('required', true);   
});

また、支柱を使用することができます

jQuery(document).ready(function() {            
   $('input').prop('required', true);   
}); 

trueの代わりに、必要なことを試すことができます。といった

$('input').prop('required', 'required');
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.