jQuery动态函数和变量

时间:2009-12-21 16:01:59

标签: javascript jquery

我正在尝试创建一个函数来处理几个输入字段的'keyup'事件,并将输入值传递给php脚本。这是我到目前为止的代码

$(document).ready(function () {

    $("#email").keyup(function () {

        val = $("input#email").val();
        what = 'email';

        aFunction(val, what);

    });

});

function aFunction(val, what) {

    var dataString = what + '=' + val;
    var error = "email_check";

    $.post("key.php", dataString, function (data) {
        //if (data.[error] == 'invalid'){
        if (data.email_check == 'invalid') {
            $("#ppp").html('error');
        } else {
            $("#ppp").html('good to go');
        }
    }, "json");

    //return false; 
}

当我取消注释时

//if (data.[error] == 'invalid'){

并注释掉

if (data.email_check == 'invalid'){

我的脚本没有执行,js文件没有加载到firebug脚本控制台 - 我假设意味着有一个错误,因为当我撤消它并刷新我可以查看它。我尝试在变量中添加单引号和双引号。此外,如果有一种方法可以看出错误是什么,但我不知道如何做到这一点会很有帮助。

2 个答案:

答案 0 :(得分:2)

这里的主要问题是你应该使用点符号(“data.error”)或数组符号(“data ['error']”)而不是两者(“data。['error']”)。

答案 1 :(得分:1)

Javascript不支持标识符中的大括号。

如果密钥实际上只是error,您可以写if (data.error == 'invalid') 如果是[error],则需要编写if (data['[error]'] == 'invalid)`。

要查看语法错误,请转到Firebug的控制台选项卡。