我有一个带有下拉列表的表单,显示 1 到 10。如果用户选择 1-9,则应显示特定的辅助段落字段。如果用户选择 10,则应显示不同的段落字段。
我想出了一些 javascript 来显示第二个表单字段(可能不是最优雅的方式,所以欢迎提出建议)。然后我使用了 livevalidation 代码,这样如果用户没有进行任何选择(下拉选项停留在选择一个而不是 1-10),那么下拉字段下会出现一个错误,而不是表单提交。
现在我想更进一步,需要显示的辅助字段,但不需要隐藏的字段。因此,如果选择 1 -9,则第二个字段显示 AND 将是唯一需要的字段。但如果选择 10,则其特定的第二个字段将显示并且是唯一的必填字段。
我尝试了几件事,但无法让表单提交 b/c 我认为隐藏字段仍然是必需的。
这是我的 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>
如果没有做出下拉选择并留在选择一个上,这是 livevalidation 显示错误的代码:
<script type="text/javascript" >var field0 = new LiveValidation('field0', {onlyOnSubmit: true });
field0.add( Validate.Exclusion, { within: [ 'blank' ], failureMessage: 'Please make a selection' } );</script>
希望这是有道理的,有人可以提供帮助。谢谢!