2013-07-31 55 views
0

我想要處理的代碼是使用來自網頁其他部分或數據驗證的輸入框中的信息。從我的理解,我必須使用東西的影響,例如:.val()爲什麼會導致錯誤?

<script> 
    var value = $('input').val(); 
    alert(value); 
</script> 

但是當我嘗試使用這個代碼塊,Chrome的控制檯告訴我的錯誤消息「未捕獲參考錯誤:$沒有定義,「但我不知道爲什麼。如果有幫助,下面是我的代碼:

JS:

click = function() { 
var password = $('input#password').val(); 
alert(password); 
}; 

HTML:

<input type="text" id="password"> 
<input type="submit" onClick="click();"> 

如果有人能請解釋爲什麼這個錯誤發生,我將不勝感激。提前致謝!

+8

您有加入jQuery的? – mohkhan

+0

要添加到@ mohkhan的評論,您是否將代碼包裝在DOM就緒回調中,比如'$(function(){})'? – mitch

回答

3

$()是一個JavaScript函數,它由jQuery庫定義。
(這就像其他任何功能 - foo(),例如......它只是命名爲一個單一的$)你從長相工作像它寫入到使用jQuery

的例子,所以你需要確保在運行代碼之前,在頁面上包含jQuery。

試着在你的文件的頂部(在<head>部分如果可能的話)加入這一行:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

還有其他的圖書館,有時使用$名稱,以及 - prototype,例如 - 和有多個圖書館爭奪$名稱有時會給你類似的外觀錯誤。有techniques you can use來幫助避免這樣的衝突。

+0

謝謝!我沒有意識到我必須包括那條線。但是,控制檯現在告訴我它無法加載資源。爲什麼是這樣? – piticent123

+0

@ user2636428您是否在本地文件中運行此頁面? – doppelgreener

+0

是的,我是。這是否意味着我必須保存記事本中的文本並引用它? – piticent123

0

試試這個

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

$(document).ready(function(){ 

var value = $('input').val(); 
    alert(value); 

    click = function() { 
     var password = $('input#password').val(); 
     alert(password); 
    }; 
}); 
+0

這不會幫助。 'click()'函數只在點擊一個鏈接後運行 - 這裏沒有文檔就緒問題。實際上,這隻會掩蓋'click'這個名稱本身,所以它在HTML中不可用。 – jcsanyi

相關問題