无法让jQuery获得2个输入框值

时间:2014-03-18 11:32:13

标签: javascript jquery html jsfiddle

我正在jsfiddle.com上开发一个小脚本

我可以使用像这个jsfiddle中的一个元素:http://jsfiddle.net/8hXGq/3/

这里是jQuery代码:

jQuery(function() {
  $("input[name=action]").click(function() {
    value = $(':Password').val();
    alert(value); 
  });
})

但是当我尝试获得2个输入值时,就像在这个jsfiddle中一样,它不起作用

访问http://jsfiddle.net/8hXGq/2/

这里是jQuery代码

jQuery(function(){
$("input[name=action]").click(function(){
    newas = $(':Login').val();

    value = $(':Password').val();
    alert(value); 
    alert(newas);
});
})

如何解决此问题?

6 个答案:

答案 0 :(得分:3)

':Password'input[type="password]的简写,因此有效。您的问题是$(':Login'),您正在寻找不存在的元素input[type="Login]

使用

jQuery(function () {
    $("input[name=action]").click(function () {
        newas = $("input[name=Login]").val();
        alert(newas);

        value = $(':Password').val();
        alert(value);
    });
})

DEMO

答案 1 :(得分:1)

试试这个:

jQuery(function(){
$("input[name=action]").click(function(){
    newas = $('input[name=Login]').val();

    value = $('input[name=Password]').val();
    alert(value); 
    alert(newas);
});
});

<强> DEMO

答案 2 :(得分:0)

请试试这个:

如果根据name属性获取值,则使用它:

jQuery(function () {
        $("input[name=action]").click(function () {
            var newas = $('input[name=Login]').val();
            var value = $('input[name=Password]').val();

            alert(value);
            alert(newas);
        });
    });

如果根据id获取值,则使用它:

jQuery(function () {
        $("input[name=action]").click(function () {
            var newas = $("input[id$='Login']").val();
            var value = $("input[id$='Password']").val()

            alert(value);
            alert(newas);
        });
    });

答案 3 :(得分:0)

将您的jquery更改为这样

jQuery(function(){
$("input[name=action]").click(function(){
    newas = $('[name=Login]').val();

    value = $('[name=Password]').val();
    alert(value); 
    alert(newas);
});
});

答案 4 :(得分:0)

:Password对于类型密码是伪的,而不是名称。要按名称访问,请使用[name=Login]

同样使用var关键字作为没有var你初始化了两个全局变量,这在ecmascript 5严格模式下是不允许的并且有时会引起混淆:

jQuery(function () {
    $("input[name=action]").click(function () {
        var newas = $('input[name=Login]').val();
        var value = $(':Password').val();
        alert(value);
        alert(newas);
    });
})

Here is Demo

答案 5 :(得分:0)

:password是jQuery的密码选择器,这就是为什么它不能与其他伪进行协作。 https://api.jquery.com/password-selector/

我建议你不要这样做。相反,它会更好地通过ID访问。

这是有效的: http://jsfiddle.net/Vy23k/1/

<input type="text" size="20" maxlength="15" name="login" id="login" />
<input type="password" size="32" maxlength="64" name="password" autocomplete="off" id="password" />
<input type="submit" name="action" class="button" value="Preview">

jQuery(function(){
    $("input[name=action]").click(function(){
        login = $("#login").val();
        //pw = $(':Password').val();  //pseudo selector
        pw = $("#password").val();   //better way

        alert(login + " - " + pw); 

    });
})