选择选项更改URL

时间:2019-12-02 14:29:30

标签: javascript html forms select

我有一个select表单元素,其值在1-7 +之间。如果用户选择“ 7+”,则我希望URL转到emailForm.php。我该如何工作?当用户单击“提交”按钮时,将捕获其他选项。

<select id="replyNumber">                           
<option selected="true" disabled="disabled" value="">No of people</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7+" onchange="document.location.href=emailForm.php">7+</option>
</select> 

2 个答案:

答案 0 :(得分:1)

您可以使用JavaScript解决此问题。

首先将onchange=testFunction(this)属性添加到您的选择标签。

然后在JavaScript中创建并定义一个函数,如下所示:

function testFunction(el) {
    if (el.value === '7+') {
        // change the webpage you're currently on
        document.location.href = 'emailForm.php';

        // change the url your form posts to
        document.form-name.action = 'emailForm.php';
    }
}

每当用户更改选择框时,它将调用此函数,然后您可以选择要检查的值,选择某些值时要做什么而无需提交表单本身。

答案 1 :(得分:1)

您不能将onchange添加到选项,而需要将其添加到select标记中。

您可以添加一个功能changePage,然后可以检查值,然后实现页面更改,如下所示

   <script>
      function changePage() {
        var val = document.getElementById("replyNumber").value;
        if (val == "7+") {
          document.location.href='emailForm.php'
        }
      }
    </script>
    <select id="replyNumber" onchange="changePage()">
      <option selected="true" disabled="disabled" value="">No of people</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7+">7+</option>
    </select>