根据字段匹配另一个表单提交按钮操作

时间:2016-03-03 16:00:56

标签: javascript php jquery html forms

我有一个页面有两个表单,但现在只显示一个。我们的想法是,如果消费者从下拉菜单中选择某个状态,它会将它们重定向到感谢页面或第二个表单时单击提交按钮。

这是我的表格:

<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语句,但我希望避免这种情况,因为它会使我的文档更长。

2 个答案:

答案 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