2013-01-07 25 views
0

我想要做的onClick函數,這將重定向用戶輸入特定的文本後,搜索到的頁面......當在函數定義中我只使用簡單的如果...除了一切都是正確的。當我嘗試使用多個if時出現問題。定義使用jQuery的onclick導航

<input id="naszInput"></input> 
<button onclick="searchMe();">Search</button> 

和函數定義:

<script> 
function searchMe() { 

if ($("#naszInput").val().toLowerCase() == "zara") 
{ 
    window.location.href = 'zara.html'; 
} 

    else if ($("#naszInput").val().toLowerCase() == "orsay") 
{ 
    window.location.href = 'orsay.html'; 
} 

else 
{ 
    $("#naszLabel").text("cannot find!"); 
} 
} 
</script> 

任何想法,爲什麼是它呢? 而這正是Chrome的控制檯告訴我關於這個錯誤:未捕獲 的ReferenceError:searchMe沒有定義app.html:1 的onclick

+0

您必須在定義調用它的按鈕之前定義函數。嘗試將你的腳本塊放在'header'中。 – jbabey

+0

那不是原因,函數定義在頭文件中,調用函數在體內。 – argh

回答

1

我會刪除按鈕onclick屬性,並添加id屬性可以是用於連接點擊事件。另外,我會建議將您的JavaScript移動到外部文件中。

<button id="btnSearch">Search</button> 


<script> 
function searchMe() { 

if ($("#naszInput").val().toLowerCase() == "zara") 
{ 
    window.location.href = 'zara.html'; 
} 

    else if ($("#naszInput").val().toLowerCase() == "orsay") 
{ 
    window.location.href = 'orsay.html'; 
} 

else 
{ 
    $("#naszLabel").text("cannot find!"); 
} 
} 
    $(function(){ 
     $('#btnSearch').click(searchMe); 

    }) 
</script> 
+0

哈,賈斯汀謝謝,它幫了很多! – argh

+0

謝謝賈斯汀,它幫了很多。我改變了按鈕ID,現在只能找不到沒有工作,但ZARA和奧賽通常加載:) – argh

+0

很高興它的工作! –