現在、送信時にjavascriptを使用してすべてのフォーム入力フィールドを検証し、フィールドが不完全な場合はエラーをスローするフォームを使用しています。私にはオプションがありますが、チェックするといくつかの入力が無効になり、stop the errors from being thrown if the textbox is disabled.
関連するコードは次のとおりです。
html:
<select name="os" id="os">
<option>-Select-</option>
<option value="A">Android</option>
<option value="I">iOS</option>
<option value="W">Windows Mobile</option>
</select> <font color="#CC0000">*</font>
js
if (document.FrontPage_Form1.Action[0].checked==true)
{
var dropvalue = document.getElementById("os");
var dropText = dropvalue.options[dropvalue.selectedIndex].text;
if (dropText=="-Select-") && (dropvalue.disabled=false)
{
document.getElementById("OS_Msg").style.display='';
document.getElementById("OS_Err").style.display='';
valid==false;
}
}
jQueryの無効化
<p><input type="checkbox" name="noPhone" id="noPhone">: My Device does not have a phone number.</p>
<script type="text/javascript">
$("#noPhone").click(onCheckChange).change(onCheckChange);
function onCheckChange() {
if ($("#noPhone").is(':checked'))
{
$("select.focusDrop").attr('disabled', 'disabled');
$(":text").attr('disabled', 'disabled');
}
else
{
$("select.focusDrop").removeAttr('disabled');
$(":text").removeAttr('disabled');
}
}
</script>