私はすべての入力フィールドにhtml5検証を使用してjQueryが自動的にrequiredを書くようにする方法を探していましたが、どこにそれを書くべきかを伝えるのに問題があります。
これを取りたい
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150">
終了タグの前にrequiredを自動的に追加します。
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required>
私はの線に沿って何かをすることができると思った
$("input").attr("required", "true");
しかし、うまくいきません。任意の助けは大歓迎です。
$("input").prop('required',true);
あなたはそれをattrを使って行うことができます、あなたがした間違いはあなたが真の引用符を入れることです。その代わりにこれを試してください:
$("input").attr("required", true);
以下の実装が有効であることがわかりました。
$('#freeform_first_name').removeAttr('required');
$('#freeform_first_name').attr('required', 'required');
これらのコマンド(attr、removeAttr、prop)は、使用しているJQueryのバージョンによって動作が異なります。こちらのドキュメントを参照してください。 https://api.jquery.com/attr/
私はjquery 1.11.1がこれを確実にしないことを発見しました。
私は$('#estimate').attr('required', true)
と$('#estimate').removeAttr('required')
を使いました。
required
を削除することは信頼できませんでした。 required
属性を値なしで残すことがあります。 required
はブール値の属性なので、単なる存在は、値なしで、ブラウザにはtrue
として見られます。
このバグは断続的でした、そして私はそれをいじるのに飽きました。 document.getElementById("estimate").required = true
とdocument.getElementById("estimate").required = false
に切り替えました。
.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);
//
ここからもっと読む
trueを二重引用符で囲むべきではありません ""
$(document).ready(function() {
$('input').attr('required', true);
});
支柱も使えます
jQuery(document).ready(function() {
$('input').prop('required', true);
});
trueの代わりにrequiredを試すことができます。といった
$('input').prop('required', 'required');