WebViewをjavaScriptインターフェイスで使用しています。私がしたいのは、いくつかのチェックボックスにチェックが入っていれば、スパンの内側のhtmlを変更するだけです。WebViewでjavascriptのinnerHtmlを動作させることができません
以下は、strings.xmlにある文字列のスニペットです。フォームはこの関数をOnSubmitと呼び、渡されない場合は続行しないでください。問題は、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ではありません。 – slebetman
'checkboxPass'のコードは何ですか?オブジェクトまたは文字列を返す場合、 'if(pass)'は常にtrueに評価されます。例えば、 'if(" false ")'は私が知る限り真と評価します。 checkboxPassがfalse、null、またはundefinedを返す場合にのみ、falseになります。 – tjameson
@tjameson javaInterface.checkboxPass()は、XML文字列ファイルに格納されているため、ブール値 – jax