点击进入不调用该函数;改为重置。

时间:2013-11-22 10:19:40

标签: javascript html

我有一个非常简单的表单,其中包含一个包含3个选项和文本框的下拉列表。 我需要检查两个输入的值,以便将用户引导到适当的页面。当我用鼠标点击" Go"它可以正常工作按钮。然而点击进入重新加载页面! 在添加下拉列表之前代码正常工作..它导致问题以某种方式发生!


 <select form="semester">
    <option value="Fall">Fall</option>
        <option value="Spring">Spring</option>
     <option value="Summer">Summer</option>

   </select>
 <input type="text" name="year" maxlength="4" size="30" onsubmit= " if(event.keyCode == 13) document.getElementById('btnSearch').click()" />

<input type="button" id="btnSearch" onclick="check(this.form)" value="Go!"/>

 <script language="javascript">
    var e = document.getElementById("semester");
    var ee = e.options[e.selectedIndex].value;
    function check(form)
    {
       if(ee == "Fall" || "fall"&& form.year.value == "2013")
        {               window.location="semester/fall13/categories.html"; 
                    }

                    else
                    {
                        alert("Not Available!")/*displays error message*/
                    }

                }
            </script>

2 个答案:

答案 0 :(得分:2)

这是更正,

<select id="semester" name="semester">

onsubmit应该适用于表单,而不是输入

答案 1 :(得分:2)

完全按照AvinashW的说法行事:

<select id="semester" name="semester">

要阻止表单提交,请执行以下操作:

onsubmit="return false;"

这是你犯的另一个错误:

if(ee == "Fall" || "fall"&& form.year.value == "2013")

应该是

if(ee == "Fall" || ee ==  "fall" && form.year.value == "2013")

如果你不介意,我创建了一个页面,其中包含您需要的功能,但是我的代码:

<html>
<body>
<div>
    <select id="semester">
        <option value="Fall">Fall</option>
        <option value="Spring">Spring</option>
        <option value="Summer">Summer</option>
    </select>
    <br/>
    <input type="text" id="year" maxlength="4" size="30" onkeypress= " if(event.keyCode == 13) document.getElementById('btnSearch').click()" />

    <button id="btnSearch" onClick="Go()">Go</button>
</div>

<script>
function GetSelectedItem()
{
    var e = document.getElementById("semester");
    strSel=e.options[e.selectedIndex].value;
    return strSel;
}

function Go(){
    selected = GetSelectedItem();
    if( (selected=="Fall"||selected=="fall") && document.getElementById('year').value=='2013'){
        window.location="semester/fall13/categories.html"; 
    }else{
        alert("Not available!");
    }
}
</script>
</body>
</html>

JSFIDDLE