重定向到网页取决于选择在两个选择下拉框

redirect to webpage depending on selection in two select drop downs

本文关键字:选择 两个 网页 取决于 重定向      更新时间:2023-09-26

我需要一个javascript解决方案以下情况:

有两个选择下拉菜单。在点击提交按钮后,两者的组合将重定向到三个网站中的任何一个:

www.exampledomainI
www.exampledomainII
www.exampledomainIII

如果"A"被选中,它应该总是直接转到www.exampledomainI。不需要选择id="number"(选择菜单id="number"应该在被选中时消失,反之亦然,当选择id="letter"中的"A"以外的任何选项时重新出现)

如果组合(例如A4或C1等)是JavaScript中数组的一部分,则应该转到www.exampledomainII。

如果它是第二个数组的一部分,它应该转到www.exampledomainIII。

<select id="letter">
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>
<select id="number">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option> 
  <option>5</option> 
  <option>6</option> 
</select>  
<input type="submit">

Thanks to lot

把元素放到表单中,给选项一个value属性,给表单附加一个onsubmit监听器。如果启用了javascript,执行逻辑并设置window.location。适当的href 。如果javascript被禁用,不可用或失败,让服务器执行逻辑。例如

<form action="..." onsubmit="return doRedirect(this);">
  <select id="letter">
    <option value="A">A
    <option value="B">B
    <option value="C">C
  </select>
  <select id="number">
    <option value="1">1
    <option value="2">2
    <option value="3">3
  </select>  
  <input type="submit">
</form>
<script type="text/javascript">
function doRedirect(form) {
  var letter = form.letter.value;
  var number = form.number.value;
  if ( /* some tests using letter and number */) {
    window.location.href = 'http://whatever.com';
    return false;
  } else if ( /* some other tests using letter and number */) {
    window.location.href = 'http://whatever.com';
    return false;
  } else if ( /* and so on... */) {
    /* whatever */
    return false;
  }
}
</script>

我不能很好地理解你的解释,但这可能会说明一点

letter_value = document.getElementById('letter').value;
number_value = document.getElementById('number').value;
if (letter_value == 'A') {
  window.location = 'www.exampledomainI';
}
else {
  //cannot understand your explanation for this cases, but just use if else for each case, for example
  if (letter_value == 'B' && (number_value == 1 || number_value == 3)) {
    window.location = 'www.exampledomainII';
  }
  if () {
    ...
  }
}

这里有一个简单的解决方案

    <html>
    <head>
        <script>
            function loadNew()
            {
                selectLetter = document.forms[0].letter.value.toString() + document.forms[0].number.value.toString();
                switch (selectLetter)
                {
                    case "B2", "C1":
                        location.href = "www.exampledomainII.com";
                        break;
                    default:
                        location.href = "www.exampledomainI.com";
                        break;
                }
            }
            function visibilityT()
            {
                if (document.forms[0].letter.value.toString() == "A")
                {
                    document.forms[0].number.style.visibility = "hidden";
                } else {
                    document.forms[0].number.style.visibility = "visible";
                }
            }
        </script>
    </head>
    <body onLoad="visibilityT()">
        <form onSubmit>
        <select name="letter" id="letter" onChange="visibilityT()">
<option>A</option>
<option selected>B</option>
<option>C</option>
</select>
<select name="number" id="number">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option> 
<option>5</option> 
<option>6</option> 
</select>  
            <input type="button" value="submit" onClick="loadNew()">
        </form>
    </body>
</html>