1 から 10 までを表示するドロップダウンを持つフォームがあります。ユーザーが 1 から 9 を選択すると、特定のセカンダリ パラグラフ フィールドが表示されます。ユーザーが 10 を選択すると、別の段落フィールドが表示されます。
2 番目のフォーム フィールドを表示するための JavaScript をいくつか見つけました (これはおそらく最もエレガントな方法ではないので、提案を歓迎します)。次に、livevalidation コードを使用して、ユーザーが何も選択しない場合 (ドロップダウンの選択が 1-10 ではなく 1 つ選択のまま)、フォームの送信ではなく、ドロップダウン フィールドの下にエラーが表示されるようにしました。
ここで、さらに一歩進んで、表示されるセカンダリ フィールドを要求しますが、非表示になるフィールドは必須ではないようにします。したがって、1 -9 が選択された場合、2 番目のフィールドは AND を示し、必要なフィールドは 1 つだけになります。ただし、10 を選択すると、その特定の 2 番目のフィールドが表示され、唯一の必須フィールドになります。
いくつかのことを試しましたが、b/c を送信するためのフォームを取得できませんでした。隠しフィールドがまだ必要だったと思います。
ドロップダウンを決定し、2 番目のフィールドを表示するための私の JS は次のとおりです。
<script type="text/javascript">
function selectionChanged()
{
if(document.getElementById("field0").value == "blank")
{
document.getElementById("formElement1").style.display="none";
document.getElementById("formElement2").style.display="none";
}
else if(document.getElementById("field0").value == "10")
{
document.getElementById("formElement1").style.display="none";
document.getElementById("formElement2").style.display="inline";
}
else
{
document.getElementById("formElement1").style.display="inline";
document.getElementById("formElement2").style.display="none";
}
return true;
}
</script>
そして、ドロップダウンの選択が行われず、[1 つ選択] のままになっている場合にエラーを表示する livevalidation のコードを次に示します。
<script type="text/javascript" >var field0 = new LiveValidation('field0', {onlyOnSubmit: true });
field0.add( Validate.Exclusion, { within: [ 'blank' ], failureMessage: 'Please make a selection' } );</script>
それが理にかなっており、誰かが助けてくれることを願っています。ありがとう!