我正在尝试创建一个函数来处理几个输入字段的'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脚本控制台 - 我假设意味着有一个错误,因为当我撤消它并刷新我可以查看它。我尝试在变量中添加单引号和双引号。此外,如果有一种方法可以看出错误是什么,但我不知道如何做到这一点会很有帮助。
答案 0 :(得分:2)
这里的主要问题是你应该使用点符号(“data.error”)或数组符号(“data ['error']”)而不是两者(“data。['error']”)。
答案 1 :(得分:1)
Javascript不支持标识符中的大括号。
如果密钥实际上只是error
,您可以写if (data.error == 'invalid')
如果是[error]
,则需要编写if (data['[error]'] == 'invalid
)`。
要查看语法错误,请转到Firebug的控制台选项卡。