0

我这里有一小段代码

            <label for="pass">Password</label>
            <input type="text" id="pass" value="QWERTY">
            <button for="pass">Submit!</button>

和 jquery 动作

$("button").click(function(){
        var value=$("input[id=pass]").attr("value");
        if (value==="QWERTY"){
            alert("Good!");
        };

它不起作用。你知道如何解决吗?

4

5 回答 5

1

尝试这个。

$("button").click(function(){
    var value=$("input#pass").val();
    if ( value === "QWERTY"){
        alert("Good!");
    }
});

jQuery 有它自己的内置函数,用于从输入字段中获取值。

于 2013-04-10T15:24:24.780 回答
1

您应该防止在单击按钮时触发默认操作(否则将提交表单,并且JS不会执行)。您还应该val()在访问输入值时使用。

您还应该将代码包装在 DOMReady 处理程序中,以确保在运行脚本时可以访问 DOM。

这是您的代码的更新版本:

$(function() {  
    $("button").click(function(e) {
        e.preventDefault();
        var the_value = $("#pass").val();

        if(value == "QWERTY")
        {
            alert("Good!");
        }
    };
});
于 2013-04-10T15:25:00.113 回答
0

试试这个:它更优化......

$("button").click(function(e){
    e.preventDefault();
    var value=$("#pass")[0].value;
    if (value==="QWERTY"){
        alert("Good!");
};

您还可以删除按钮上的“for”属性,这是不正确的;)

于 2013-04-10T15:25:39.573 回答
0

如果您没有忘记});最后的代码并将代码放入 dom 就绪回调函数中,您的代码应该可以工作。演示。

你可以像下面这样写:

$("button").click(function(){
    if ($('#pass').val()==="QWERTY"){
        alert("Good!");
    };
});
于 2013-04-10T15:27:02.760 回答
0

我认为您只是有语法错误。您需要确保关闭函数花括号并单击关闭括号。

$("document").ready(function () {

    $("button").click(function () {
        var value = $("input[id=pass]").attr("value");
        if (value === "QWERTY") {
            alert("Good!");
        }
    });
});

示例:http: //jsfiddle.net/pandaPowder/5VjeD/3/

于 2013-04-10T15:29:20.927 回答