为什么.val()会导致错误?

时间:2013-07-31 03:20:03

标签: javascript jquery html

我想用我的代码做的是使用来自网页其他部分的输入框中的信息或数据验证。根据我的理解,我必须使用某些东西,例如:

<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();">

如果有人可以解释为什么会发生这种错误,我将不胜感激。提前谢谢!

2 个答案:

答案 0 :(得分: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可以帮助避免这种冲突。

答案 1 :(得分: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);
    };
});