【发布时间】:2010-12-14 02:44:23
【问题描述】:
我正在使用带有 javaScript 界面的 WebView。如果勾选了某些复选框,我要做的就是更改跨度的内部 html。
下面是我在 strings.xml 中的一个字符串的 sn-p。表单将在提交时调用此函数,如果未通过,则不应继续。问题是我无法让 innerHtml 工作(每次都返回 true)。
这行得通
<script type=\"text/javascript\" language=\"javascript\">
function pass() {
return javaInterface.checkboxPass();
/*
if(passed) {
//change the instructions
document.getElementById(\"txtInstructions\").innerHTML = \'Loading Website...\';
}
return passed;
*/
}
</script>
这每次都返回真
<script type=\"text/javascript\" language=\"javascript\">
function pass() {
var passed= javaInterface.checkboxPass();
if(passed) {
//change the instructions
document.getElementById(\"txtInstructions\").innerHTML = \'Loading Website...\';
}
return passed;
}
</script>
这是文档正文中的跨度
<span id=\"txtInstructions\">%1$s</span>
我做错了什么?
【问题讨论】:
-
你有什么理由使用反斜杠转义引号字符?否则这不是标准的 HTML/javascript。
-
checkboxPass的代码是什么?如果它返回一个对象或字符串,if(pass)将始终评估为真。例如,据我所知,if("false")将评估为 true。只有当 checkboxPass 返回 false、null 或 undefined 时才会为 false。 -
@tjameson javaInterface.checkboxPass() 返回一个布尔值
-
@slebetman 因为它存储在 XML 字符串文件中
-
这仍然是一个活跃的问题吗?
标签: javascript android