我有一个页面有两个表单,但现在只显示一个。我们的想法是,如果消费者从下拉菜单中选择某个状态,它会将它们重定向到感谢页面或第二个表单时单击提交按钮。
这是我的表格:
<form action="capture_redirect.php" method="post">
<select placeholder="State" name="_State" id="state" required/>
<input type="submit" id="submit" value="Check Eligibility">
使用Javascript:
<script type="text/javascript">
function submit {
if(document.getElementById(state) = 'AZ', 'AR', 'CA')
{
location.href = "home.php";
}
else
{
location.href = "capture_redirect.php";
}
}
</script>
我确定我在某处犯了一个错误,但我似乎无法弄明白。现在,当消费者点击提交按钮时,它会将它们重定向到感谢页面或返回到表单上。
我见过一些例子,其中每个单独的状态都显示有自己的if / else语句,但我希望避免这种情况,因为它会使我的文档更长。
答案 0 :(得分:1)
使用value
和数组。
if( ['AZ', 'AR', 'CA'].indexOf( document.getElementById('state').value) )
或者在jQuery中,您可以使用jQuery.inArray()
。
if( $.inArray($('#state').val(), ['AZ', 'AR', 'CA'] ) )
答案 1 :(得分:0)
1. =
用于分配而不是用于比较,因此请使用==
代替它。
2.还要将你的情况分成以下三个部分。
3.您在条件''
附近也忘了state
: -
if(document.getElementById('state').value == 'AZ' || document.getElementById('state').value == 'AR' || document.getElementById('state').value == 'CA'){.......}else{.....}
或者更有效的方法: -
if( ['AZ', 'AR', 'CA'].indexOf( document.getElementById('state').value) )
4.而不是location.href
使用window.location.href