2016-11-14 6 views
1

無効なフィールド内のデータがフォームとともに送信されないというテキストが表示されました。だから私はなぜコードを書いている間も無効なフィールドを使う必要があるのか​​分からない。無効になっているフィールドを使用することが避けられないシナリオを説明してください。HTML内の無効なフィールドの使用

+0

このフィールドを必要としない条件の場合。 –

答えて

1

フィールドには、HTML形式のdisabledは使用できません.clickclockableはデータを送信しません。

な分野についてのポイントは他の何かがそのフィールドは、もはやdisabledではありません前にを発生することがあるということである - そしてそれは、通常のHTMLフォームフィールドになります。

たとえば、

var otherReasonRadio = document.querySelector('input[value="reason-other"]'); 
 
var otherReasonInput = document.querySelector('input[name="other-reason"]'); 
 

 
function enableOtherReasonInput() { 
 
otherReasonInput.removeAttribute('disabled'); 
 
} 
 

 
otherReasonRadio.addEventListener('change',enableOtherReasonInput,false);
label { 
 
display: block; 
 
}
<form> 
 
<label><input type="radio" name="reason" value="reason-a" />Reason A</label> 
 
<label><input type="radio" name="reason" value="reason-b" />Reason B</label> 
 
<label><input type="radio" name="reason" value="reason-other" />Other Reason</label> 
 

 
<p><label>Please State Other Reason: <input type="text" name="other-reason" disabled></label></p> 
 
</form>

+0

OK ..コードスニペットを実行しました。他の理由のラジオボタンを選択した後で有効になりました。しかし、別のラジオボタンを選択しているときに、再び無効にならないのですか? –

+0

はい、別のラジオボタンが選択されているときにもう一度「無効」になるように、別のイベントリスナーと別の機能を追加することができます。 – Rounin

0

あなたがフィールドを表示したいが、残りのフォームフィールドに沿って提出されたくないような条件は、

1

、我々はnameuserusernameを持っている、のは、言ってみましょうemailおよびtype。既存のユーザを編集したり、新しいユーザを追加したりするために、単一のHTMLフォームが必要です。編集中は、ユーザーのemailを変更したくありません。したがって、userを編集しているときにこのフィールドを無効にすることができます。なぜなら、実際にはサーバーや他のフォーム・プロセッサーに送信したくないからです。一方、ユーザーを追加するときは、追加するフィールドがemailである必要があります。したがって、追加する際には、emailフィールドを無効にしないでください。これは、フィールドを無効にする必要がある単なる例です。同じフォームですが、編集中はemailが提出され、emailが追加されます。

関連する問題