2014-02-23 26 views
0

我有這段代碼,它工作了幾分鐘。但是,我重新加載了我的頁面,現在我無法使其工作,我無法弄清楚原因。任何幫助將非常感激。 代碼:JavaScript不工作form.textid.indexOf(「」)

<form> 
<input type="text" id="test"> 
<input type="button" value="test" onclick="check(this.form)"> 

<script lang="JavaScript"> 
function check(form) { 
    if (form.test.indexOf("yes")) { 
     alert("play sound"); 

     } 
     else { 

     alert("no sound"); 

    } 
} 
</script> 
</form> 

回答

0

當我測試了谷歌瀏覽器的JavaScript控制檯你的代碼,我有類型錯誤:無法讀取的未定義的屬性「測試」。它看起來像在嘗試驗證輸入框中的用戶輸入,但是在使用indexOf()查找該字符串的字符串段之前,無論輸入什麼值都需要在代碼中引用。

這是一個jsFiddle向您展示如何使用jQuery獲取用戶輸入值。 使用jQuery的val()方法或Javascript的value()方法獲取用戶輸入,然後您可以使用indexOf方法查找字符串段

 

    var arr=["random","Javascript","donuts","closures"]; 
     $(document).ready(function() { 
      $("#myForm").submit(function(e){ 
       e.preventDefault(); 
       var userInput=$("#userInput").val(); 
       if($.inArray(userInput,arr) != -1){ 
        alert("success"); 
       } 
      }) 
     });