Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition incorrecte (isNan)

Sujet résolu
    4 novembre 2010 à 1:46:37

    Bonjour à tous,

    Je suis toujours dans mon script complétion de carré (mais j'ai fait d'autres trucs pendant aussi :p), toutefois, j'ai essayé de rajouter une condition annonçant une erreur à l'utilisateur lorsqu'il ne rentre pas des nombres, mais elle ne semble pas fonctionner, pourrait-on m'aider s.v.p. ?

    Script correct sans ajout:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
       <title>CompletionDeCarre</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	
    	 <style type="text/css">
    	 
    	
    	body
    	{
    		background-color: yellow;
    		text-align: center;
    	}
    	 
    	.all
    	{
    		text-align: center;
    	}
    	 
    	.action
    	{
    		color: blue;
    		text-decoration: underline;
    		text-align: center;
    		cursor: pointer;
    	}
    	 
    	 .petit
    	 {
    		font-size: 0,7em;
    		text-align: center;
    	 }
    	 
    	 .rep
    	 {
    		text-align: center;
    		color: red;
    		border-style: dotted;
    		padding: 5px;
    		border-color: black;
    		font-style: italic;
    		font-weight: bold;
    		
    	 }
    	 
    	 a: visited
    	 {
    		color: blue;
    		text-align: center;
    	 }
    	 
    	 a
    	 {
    		color: blue;
    		text-align: center;
    	 }
    	 
    	 </style>
    	   
       </head>
       <body>
    
    <h1 class="all">Complétion de carré</h1>   
    
       
    <form name="form2" class="all">
    <br> <label for="champ_text4">Valeur de a :</label>
    <input type='TEXT' name='champ_text4' value='' Id='a1' size='24'>
    <br> <label for="champ_text5">Valeur de b</label>
    <input type='TEXT' name='champ_text5' value='' Id='b1' size='24'>
    <br> <label for="champ_text6">Valeur de c :</label>
    <input type='TEXT' name='champ_text6' value='' Id='c1' size='24'></form> 
       
        <script type="text/javascript">
     
    	function cC()
    	{
    
    	var chaine = "";
    	var a = document.getElementById("a1").value;
    	var b = document.getElementById("b1").value;
    	var c = document.getElementById("c1").value;
    	
    	var a1 = parseFloat(a);
    	var b1 = parseFloat(b);
    	var c1 = parseFloat(c);
    	
    	var b2 = parseFloat(b1 / a1);
    	var c2 = parseFloat(c1 / a1);
    	var n = parseFloat(b2 / 2);
    	var n2 = parseFloat(n * n);
    	
    	var f = parseFloat(c2) - parseFloat(n2);
    	var f2 = Math.sqrt(Math.abs((c2 - n2))) 
    	var g = parseFloat(n) - parseFloat(f2)
    	var h = parseFloat(n) + parseFloat(f2)
    	var t = parseFloat(n) - parseFloat(Math.sqrt(f));
    	var u = parseFloat(n) + parseFloat(Math.sqrt(a));
    	var a2 = parseFloat(a / 2)
    	var a3 = parseFloat(2)
    	var g2 = parseFloat(a2 * g)
    	var h2 = parseFloat(a3 * h)
    	var y = parseFloat(c2 - n2)
    	
    	
    	
    
    	
    	chaine += a+'x\u00b2+'+b+'x+'+c+'<br />'; // formule de base
    	chaine += a+'(x\u00b2+'+b2+'x+'+c2+')'+'<br />'; // a en évidence
    	chaine += a+'(x\u00b2+'+b2+'x+'+n2+-n2+'+'+c2+')'+'<br />'; // ajouter pour carré parfait
    	chaine += a+'(x\u00b2+'+b2+'x+'+y+'+'+c2+')'+'<br />';
    	if(y < 0)
    	{
    	chaine += a+'((x+'+n+')\u00b2-('+f2+')\u00b2)'+'<br />'; // factoriser les 2 côtés
    	chaine += a+'(x+'+n+'+'+-f2+')(x+'+n+'+'+f2+')'+'<br />'; // factoriser (premiere étape) la différence de carré
    	chaine += a+'(x+'+g+')(x+'+h+')'+'<br />'; // additionner les termes constants
    	if(a != 1)
    		{
    	chaine += '('+a2+'*x+'+a2+'*'+g+')('+a3+'*x+'+a3+'*'+h+')'+'<br />'; // distribuer le a
    	chaine += '('+a2+'x+'+g2+')('+a3+'x+'+h2+')'+'<br />';
    		}
    	}
    	else
    	{
    	alert('La factorisation ne peut continuer');
    	}
    
    document.getElementById("affichage").innerHTML = chaine;
    	
    	}
    
    </script>
    
    <p><span onclick="cC()" class="action">Exécuter</span></p>	
    <br />
    <br />
    <div id="affichage" class="rep"></div>	
    <br />  
    <br />
    <br />
    <br />
    <br />   
    <span class="petit">By me ©</span>   
       
       </body>
    </html>
    


    Script incorrect avec ajout:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
       <title>CompletionDeCarre</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	
    	 <style type="text/css">
    	 
    	
    	body
    	{
    		background-color: yellow;
    		text-align: center;
    	}
    	 
    	.all
    	{
    		text-align: center;
    	}
    	 
    	.action
    	{
    		color: blue;
    		text-decoration: underline;
    		text-align: center;
    		cursor: pointer;
    	}
    	 
    	 .petit
    	 {
    		font-size: 0,7em;
    		text-align: center;
    	 }
    	 
    	 .rep
    	 {
    		text-align: center;
    		color: red;
    		border-style: dotted;
    		padding: 5px;
    		border-color: black;
    		font-style: italic;
    		font-weight: bold;
    		
    	 }
    	 
    	 a: visited
    	 {
    		color: blue;
    		text-align: center;
    	 }
    	 
    	 a
    	 {
    		color: blue;
    		text-align: center;
    	 }
    	 
    	 </style>
    	   
       </head>
       <body>
    
    <h1 class="all">Complétion de carré</h1>   
    
       
    <form name="form2" class="all">
    <br> <label for="champ_text4">Valeur de a :</label>
    <input type='TEXT' name='champ_text4' value='' Id='a1' size='24'>
    <br> <label for="champ_text5">Valeur de b</label>
    <input type='TEXT' name='champ_text5' value='' Id='b1' size='24'>
    <br> <label for="champ_text6">Valeur de c :</label>
    <input type='TEXT' name='champ_text6' value='' Id='c1' size='24'></form> 
       
        <script type="text/javascript">
     
    	function cC()
    	{
    
    	var chaine = "";
    	
    	
    	
    	var a = document.getElementById("a1").value;
    	var b = document.getElementById("b1").value;
    	var c = document.getElementById("c1").value;
    	
    	if(a(isNan) || b(isNan) || c(isnan))
    	{
    		alert('Les valeurs entrées sont incorrectes')
    	}
    	
    	else
    	{
    	
    	var a1 = parseFloat(a);
    	var b1 = parseFloat(b);
    	var c1 = parseFloat(c);
    	
    	var b2 = parseFloat(b1 / a1);
    	var c2 = parseFloat(c1 / a1);
    	var n = parseFloat(b2 / 2);
    	var n2 = parseFloat(n * n);
    	
    	var f = parseFloat(c2) - parseFloat(n2);
    	var f2 = Math.sqrt(Math.abs((c2 - n2))) 
    	var g = parseFloat(n) - parseFloat(f2)
    	var h = parseFloat(n) + parseFloat(f2)
    	var t = parseFloat(n) - parseFloat(Math.sqrt(f));
    	var u = parseFloat(n) + parseFloat(Math.sqrt(a));
    	var a2 = parseFloat(a / 2)
    	var a3 = parseFloat(2)
    	var g2 = parseFloat(a2 * g)
    	var h2 = parseFloat(a3 * h)
    	var y = parseFloat(c2 - n2)
    	
    	
    	
    
    	
    	chaine += a+'x\u00b2+'+b+'x+'+c+'<br />'; // formule de base
    	chaine += a+'(x\u00b2+'+b2+'x+'+c2+')'+'<br />'; // a en évidence
    	chaine += a+'(x\u00b2+'+b2+'x+'+n2+-n2+'+'+c2+')'+'<br />'; // ajouter pour carré parfait
    	chaine += a+'(x\u00b2+'+b2+'x+'+y+'+'+c2+')'+'<br />';
    	if(y < 0)
    	{
    	chaine += a+'((x+'+n+')\u00b2-('+f2+')\u00b2)'+'<br />'; // factoriser les 2 côtés
    	chaine += a+'(x+'+n+'+'+-f2+')(x+'+n+'+'+f2+')'+'<br />'; // factoriser (premiere étape) la différence de carré
    	chaine += a+'(x+'+g+')(x+'+h+')'+'<br />'; // additionner les termes constants
    	if(a != 1)
    		{
    	chaine += '('+a2+'*x+'+a2+'*'+g+')('+a3+'*x+'+a3+'*'+h+')'+'<br />'; // distribuer le a
    	chaine += '('+a2+'x+'+g2+')('+a3+'x+'+h2+')'+'<br />';
    		}
    	}
    	else
    	{
    	alert('La factorisation ne peut continuer');
    	}
    	}
    
    document.getElementById("affichage").innerHTML = chaine;
    	
    	}
    
    </script>
    
    <p><span onclick="cC()" class="action">Exécuter</span></p>	
    <br />
    <br />
    <div id="affichage" class="rep"></div>	
    <br />  
    <br />
    <br />
    <br />
    <br />   
    <span class="petit">By me ©</span>   
       
       </body>
    </html>
    


    Merci à tous
    • Partager sur Facebook
    • Partager sur Twitter
      4 novembre 2010 à 1:59:29

      C'est isNaN(ta_variable) . Attention aux majuscules et minuscules et à l'ordre d'écriture !
      • Partager sur Facebook
      • Partager sur Twitter

      Condition incorrecte (isNan)

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown