1

ドロップダウンでjQueryを使用して、ドロップダウンの選択に従ってテキスト入力フィールドを表示/非表示にすると、Firefoxで奇妙な動作が発生し、選択に基づいてこれらの必須フィールドが非表示になっている場合でも、すべての「必須」フィールドが入力されるまでフォームを送信できません。ドロップダウンから、またはいわば、それらは実際には非アクティブです。

Safariは、非表示の「必須」フィールドを無視し、アクティブな(表示されている)必須フィールドのみをチェックします。これらが入力されている場合は、フォームを送信してください。

私はこれの発生と可能な解決策を探し回ろうとしましたが、何も見つからなかったようです。

例:

<select id="theselect" name="something">
    <option value="1" selected>One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

<input type="text" name="one" required="required" class="show" />
<input type="text" name="two" required="" class="hide" />
<input type="text" name="three" required="required" class="hide" />

上記の例では、入力2と3が非表示になっていることを念頭に置いて、selectが2または3に変更され、それぞれの入力の状​​態/可視性が変更される場合、Firefoxは必要なすべてを強制的に入力する必要があります。

誰かがこれを経験したことがありますか、および/またはjQueryでこれを効果的に管理する方法についてのアイデアを持っていますか?何か考えてくれてありがとう、そしてこれについて助けてください。

4

1 に答える 1

2

「非表示」のフィールドでも送信されます。したがって、「必須」のフラグが立てられている場合、検証が失敗します。仕様はこれについて非常に明確です。

実際に未設定の状態で送信するかどうかに応じて、不要に設定するか、非表示にするときに無効に設定することをお勧めします。

于 2012-11-19T04:44:13.997 に答える