2010-02-20 6 views
0

J'ai vu tous les messages mais mon problème n'est pas que cela ne change pas la couleur de fond, mais plutôt que c'est le cas et le changer mais à l'original. Voici le code.JavaScript changer le problème de couleur

<html> 
     <head> 
      <title>Calculator</title> 
      <link rel="stylesheet" type="text/css" href="color.css"/> 
      <script type="text/javascript"> 
       function calc(color){ 
        //document.body.bgColor = color; 
        x=document.myForm 
        var val1=x.input1.value; 
        var val2=x.input2.value; 
        var val3=val1+"+"+val2; 
        if(eval(val3)<0) return; 
        else{ 

        alert("The result is "+eval(val3)); 
        var bd = document.getElementById ('body'); 
        bd.className="highlight"; 
        return; 
        } 
       } 
      </script> 
     </head> 
     <body id="body" onload="changeBackground(red)"> 
      <form name="myForm" onsubmit="calc(this)"> 
       Enter 2 values to add ;) 
       <input type="text" name="input1"> 
       <input type="text" name="input2"> 
       <input type="submit" value="Send Input"> 
      </form> 
     </body> 
    </html> 

CSS:

.hightlight{ 
     background-color: yellow; 
    } 

Je comprends que la fonction se termine juste avant la fin de la fonction. Alors, comment puis-je l'obtenir pour tenir la couleur?

+4

Si quelqu'un répond, est-il une chance que vous l'accepter? Je ne devine pas ... –

+0

vous devez accepter les réponses des autres pour augmenter votre réputation de score d'acceptation. Actuellement, votre pourcentage d'acceptation est de 0%. – Sarfraz

Répondre

1

Le problème est que vous essayez POST la page sur le bouton de soumission. Dans ce cas, la page est entièrement redessinée, sans conserver l'état précédent défini par votre script. Code Just changement de bouton:

<input type="button" value="Send Input" onclick="calc(this)"> 
Questions connexes