有谁能告诉我为什么这个IF语句不起作用吗?我使用jQuery和Firebug,但后者没有给我任何有用的信息。IF语句的正确语法
我只是试图揭示一个“提交”按钮,当所有的领域已经完成,脚本运行每隔几秒钟来检查输入。
我的代码摘录去有点像这样:
function checkForm(){
var userName = $('#name').val();
var userContent = $('#content').val();
var userEmail = $('#email').val();
// The following line shows me that the values for the fields are all getting picked up properly
$('#report').html("userName: "+userName+"<br />userContent: "+userContent+"<br />userEmail: "+userEmail);
// But the following line is throwing some kind of error
if (userName == "" || userContent == "" || userEmail == ""){
$('#update').slideDown();
} else {
$('#update').slideUp();
}
}
$(document).ready(function(){
$('#update').hide();
setInterval('checkForm()' , 2000);
});
而我的HTML ...
<div id="report"></div>
<form id="submitfact">
<div id="update">Update Database</div>
<label><input id="name" name="name" type="text" value="" /><span>Fact submitter's name</span></label>
<label><input id="email" name="email" type="text" value="" /><span>Fact submitter e-mail address</span></label>
<label class="content"><span>Fact text</span><br /><textarea id="content" name="content"></textarea></label>
</form>
编辑...
我道歉,如果人们认为我通过不提供错误信息浪费他们的时间 - 但Firebug根本没有给我任何有用的东西 - 如果是我会在这里发布它。我是一位经验丰富的PHP程序员,但对jQuery相当新颖,所以我承认我仍然在掌握编写语言和调试它。我想发布Firebug响应的屏幕截图,但作为新用户,我不被允许......我所得到的只是行号列中的“红色错误圈/黄色玩三角形”图标(“脚本“选项卡)上面显示的行上......除非您可以告诉我除了”脚本“和”控制台“面板以外还有什么其他东西?
另一个编辑...
好吧,我把它固定,采取一看Cristoph的建议。它基本上是相同的解决方案,但不是将其称为函数,而是将其“内联”。我不能完全肯定这两种技术之间的区别是什么,还是它只是我有一个地方的问题,但我的新的jQuery看起来是这样的:
$(document).ready(function(){
$('#submitfact').keyup(function(){
var userName = $('#name').val();
var userContent = $('#content').val();
var userEmail = $('#email').val();
$('#report').html(userName + "<br />" + userContent + "<br />" + userEmail);
if (userName == "" || userContent == "" || userEmail == ""){
$('#update').slideUp();
} else {
$('#update').slideDown();
}
});
});
我会通过你的其他意见一看,看如果我可以简化它,但至少我现在有一个工作基线!感谢您的时间,大家:)
它们确实是空字符串,还是'null'?另外,当输入被修改时,我会完成此检查,而不是在定时器上。 – 2012-03-16 12:29:14
如果某行发生错误,您是否认为发布错误是有益的?另外,Moo果汁是对的,你为什么要这样做一个计时器?! – anothershrubery 2012-03-16 12:29:30
**什么是错误**? – gdoron 2012-03-16 12:31:37