J'utilise un WebView avec une interface javaScript. Tout ce que je veux faire est de changer le html interne d'un span si certaines cases sont cochées. Ci-dessous un extrait d'une chaîne que j'ai dans strings.xml. Le formulaire appellera cette fonction onSubmit et ne devrait pas continuer s'il ne passe pas. Le problème est que je ne peux pas faire fonctionner le innerHtml (retourne true à chaque fois).Impossible d'obtenir javascript innerHtml pour travailler sur WebView
Cela fonctionne
<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>
Cela retourne vrai chaque fois que
<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>
Ceci est la durée dans le corps du document
<span id=\"txtInstructions\">%1$s</span>
Qu'est-ce que je fais mal?
Toute raison pour laquelle vous guillemets backslash-escaping? Sinon, ce n'est pas du HTML/javascript standard. – slebetman
Quel est le code de 'checkboxPass'? Si elle renvoie un objet ou une chaîne, le 'if (pass)' sera toujours évalué à true. Par exemple, 'if (" false ")' sera évalué à vrai autant que je sache. Cela ne sera vrai que si checkboxPass retourne false, null ou undefined. – tjameson
@tjameson javaInterface.checkboxPass() renvoie un booléen – jax