为什么我的函数在不应该被调用时被调用?
问题描述:
我有2个Java脚本函数。如果第一个返回true,那么第二个不会被执行。如果第一个函数返回false,那么只有第二个函数要执行。 所以我想用下面的代码来实现这一目标:为什么我的函数在不应该被调用时被调用?
<script type="text/javascript" language="javascript">
function needsForcedReset() {
if($("#showMessage").text().length > 0) {
return true;
}
return false;
}
function sendAlert() {
//Sends an alert;
alert('oh oh');
}
$(document).ready(function() {
alert('in doc ready');
if (needsForcedReset()) {
alert('Need force reset, no check for alerts');
return;
}
else {
sendAlert();
}
});
</script>
我所看到的不过是,请将SendAlert被称为不管needsForcedReset函数返回什么。我如何使它工作?
编辑:showMessage是一个div元素
答
没有什么错与您的代码。如果needsForcedReset
返回false
sendAlert
函数将永远不会执行。和here's the proof。所以我猜needsForcedReset
总是返回true
,如果id="showMessage"
的元素有一些文本,或者如果这是一个输入框,您需要使用.val()
函数而不是.text()
,那么这并不奇怪。
答
如果是输入文本框,则使用val()方法。
什么是showMessage?一个文本框,一个div? – Geoff 2011-01-14 18:29:26
我没有看到你的脚本有任何问题....你确定在#showMessage中没有空格或东西 – armonge 2011-01-14 18:39:28