2013-11-22 71 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

嘗試輸入按鈕類型提交 –