我正在构建一个多部分表单。每个部分都执行一个新脚本。执行每个脚本时,它将检查所需的数据。如果缺少所述数据,则返回字符串“false”
第1部分失败正确(调用highlight()
)但第2部分只是绕过highlight
函数吐出“假”,就像data !== false
一样。我已经尝试清除数据,但这似乎不起作用。有什么想法吗?
由于
$('.submit').live('click', function(){
var bclick = $(this);
var frm = "../../scripts/retain-" + $(this).attr('rel') + ".php";
var fields = $('#retain-form').serialize();
$.post(frm, fields, function(data){
if(data == 'false'){
highlight();
data = '';
}else{
var nForm = $(bclick).attr('rel');
nForm = parseInt(nForm[4]) + 1;
$(bclick).attr('rel', "form" + nForm);
$('#retain-steps').html(data);
}
});
})
答案 0 :(得分:0)
您的highlight
函数应该收到bclick
参数
function highlight(bclick){
...
}
并像这样调用:
highlight(bclick);
您应该将bclick
参数传递给highlight
函数,以便它可以知道要突出显示的部分。
干杯
答案 1 :(得分:0)
我并不完全清楚你要做什么以及这里出了什么问题,但要注意的一件事就是在JavaScript's "falsy" values周围使用类型强制==
比较。从"" == false
开始,你会遇到一些不直观的错误。请尝试在条件中使用严格的===
比较。