【问题标题】:Submit Button Action Depending If Field Matches Another Form提交按钮操作取决于字段是否匹配另一个表单
【发布时间】:2016-03-03 16:00:55
【问题描述】:

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

这是我的表格:

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

【问题讨论】:

    标签: javascript php jquery html forms


    【解决方案1】:

    为此使用value 和数组。

    if( ['AZ', 'AR', 'CA'].indexOf( document.getElementById('state').value) )
    

    或者在 jQuery 中你可以使用jQuery.inArray()

    if( $.inArray($('#state').val(), ['AZ', 'AR', 'CA'] ) )
    

    【讨论】:

    • 你在第一个案例中忘记了''
    【解决方案2】:

    1.= 用于赋值而非比较,因此请使用== 代替它。

    2.也将你的条件分成如下三部分。

    3.你忘了''also,在你的条件下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. 用window.location.href代替location.href

    【讨论】:

    • 呸!你在那里为我节省了很多时间 - 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2019-05-13
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多