2009-11-12 5 views
0

J'essaye de faire un script que lorsque vous tapez une valeur hexadécimale et que vous appuyez sur submit itchangements la couleur du texte à la couleur entrée.appelant une variable à l'intérieur de html

Il semble que le problème est la façon dont je fais appel à la variable « UserInput » dans la variable nouvelle html

Des idées?

<script type="text/javascript"> 

function changeText3(){ 
    var userInput = document.getElementById('userInput').value; 
    var oldHTML = document.getElementById('para').innerHTML; 
    var newHTML = "<span style='color:userInput'>" + oldHTML + "</span>"; 
    document.getElementById('para').innerHTML = newHTML; 
} 

</script> 

<p id='para'>Welcome to the site <b>dude</b> </p> 
<input type='text' id='userInput' value='#' /> 
<input type='button' onclick='changeText3()' value='Change Text'/> 

Répondre

8

Je suggère d'utiliser la référence de style au lieu d'ajouter de plus en plus portées:

document.getElementById('para').style.color = userInput; 
+0

fonctionne comme un charme, merci – Dasa

2

Il est juste la ligne qui est à l'origine du problème:

var newHTML = "<span style='color:" + userInput + "'>" + oldHTML + "</span>"; 
0

vous devez "injecter" la variable UserInput dans votre variable newHTML. Voir ci-dessous;

<script type="text/javascript"> 

function changeText3(){ 
    var userInput = document.getElementById('userInput').value; 
    var oldHTML = document.getElementById('para').innerHTML; 
    var newHTML = "<span style='color:" + userInput + "'>" + oldHTML + "</span>"; 
    document.getElementById('para').innerHTML = newHTML; 
} 

</script> 

<p id='para'>Welcome to the site <b>dude</b> </p> 
<input type='text' id='userInput' value='#' /> 
<input type='button' onclick='changeText3()' value='Change Text'/> 
+0

cela fonctionne, mais maintenant le problème est que je ne pense pas que cela à travers correctement, car il ne peut changer une fois, donc je dois recommencer – Dasa

+1

voir ma réponse - ça marchera plus d'une fois;) – jantimon

Questions connexes