ユーザーが何を検索するかを選択するラジオグループがあります。ユーザーが検索していない入力は JavaScript で隠されています。それらが送信されないようにするにはどうすればよいですか? たとえば、radio1 が選択されている場合、名前を入力して送信したくありません"search-by-date"
。name 属性を削除する以外にできる方法はありますか? name 属性を削除することが唯一の/最良の方法である場合、それを行う適切な場所はどこですか?
ありがとう
ユーザーが何を検索するかを選択するラジオグループがあります。ユーザーが検索していない入力は JavaScript で隠されています。それらが送信されないようにするにはどうすればよいですか? たとえば、radio1 が選択されている場合、名前を入力して送信したくありません"search-by-date"
。name 属性を削除する以外にできる方法はありますか? name 属性を削除することが唯一の/最良の方法である場合、それを行う適切な場所はどこですか?
ありがとう
Gijs コードの例を少し小さくしました。
$("form").submit(function() {
var inputs = $(this).find(':input'),
emptyInputs = inputs.filter('[value=""]');
return inputs.length > emptyInputs.length && emptyInputs.prop("disabled", true).length > 0;
});
すべての入力が空かどうかを確認してから false を返しますが、値を持つ入力があり、空の入力がある場合は true を返し、空の入力を無効に設定します
フィールドを無効にします。
$('#your_form_id').submit(function(){
if($("input:radio[name=radio1]").prop('checked')){
$("input:radio[name=search-by-date]").prop('disabled',true);
}
});
空の値を送信しないように作成したスクリプトは、役立つ場合があります。また、何も入力されていない場合はフォームを無効にします。
$("form").submit(function() {
var count = $(this).find(':input').filter(function() {
return $(this).val() != "";
}).length;
if (count > 0) {
$(this).find(':input[value=""]').attr("disabled", "disabled");
return true;
} else {
return false;
}
});