2013-11-22 35 views
0

我有一个非常简单的形式,有一个下拉列表与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> 
+0

你可以创建JSFiddle来说明你的问题吗? – Florent

+0

'('btnSearch')。click()'它做了什么? –

回答

2

究竟什么AvinashW说:

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

防止从submittin形式克,这样做:

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

+0

谢谢..但我不想重置时,输入。 我想通过检查用户插入的输入去适当的页面。 – HaneenSu

+0

使用我答案的第二部分来阻止表单提交@ user2968129 –

+0

THANKSSSSSSSSSS A LOT !!!它工作完美:D – HaneenSu

2

这里是修正,

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

的onsubmit应适用于形成,而不是输入

+0

谢谢,我纠正了这一点。 我改变了onsubmit的地方,但它仍然没有工作..页面重置,当我打入输入 – HaneenSu

+0

你可以创建示例jsfiddle? –

+0

尝试输入按钮类型提交 –