0

我正在为我的 Phonegap 应用程序制作登录表单,但无法将用户输入发送到我的服务器进行验证。

现在,我只是想确保首先引用用户输入,所以我正在努力alert解决。

当我这样做时,什么也没有发生。

但是,如果我注释掉散列,一切正常。

这是哈希脚本的链接。它以前在其他示例中工作过。

也许我对 jQuery 生疏了,错过了一些愚蠢的东西,我不知道。

查询

$(document).ready(function()
{
    $("#login").submit(function()
    {
        -- This block is what is commented or not to make the alert work --
        var NoHashPwd = $("#password").val();
        var HashedPwd = hex_sha512(NoHashPwd.value);
        $("#p").val(HashedPwd);
        password.value = "";
        -- End block --

        var uname = $("#uname").val();
        var p = $("#p").val();

        alert(uname);
    });
});

登录表单

<form id="login">
    <input type="hidden" name="login_lat" id="login_lat" value="fill" />
    <input type="hidden" name="login_lon" id="login_lon" value="fill" />
    <input type="hidden" name="p" id="p" value="coming" />

    <label for="uname">Username: </label>
    <input type="text" name="uname" id="uname" />
    <br />
    <label for="password">Password: </label>
    <input type="password" name="password" id="password" />
    <br />
    <input type="submit" value="Login" name="login" />
</form>
4

1 回答 1

0

所以我在@apanosa 的帮助下修复了它

关于没有被触发和NoHashPwd.value不正确,他是对的。

不正确,我的意思是它是NULL并且没有附加价值。

我将代码更改为只创建NoHashPwd一个变量并在hash_sha512函数中引用它。

感谢@apanosa 的帮助

新JS

var NoHashPwd = $("#password").val();
var HashedPwd = hex_sha512(NoHashPwd);
$("#p").val(HashedPwd);
$("#password").val(" ");

var uname = $("#uname").val();
var login_lat = $("#login_lat").val();
var login_lon = $("#login_lon").val();
var p = $("#p").val();
于 2013-11-11T17:24:41.537 回答