2009-04-25 9 views
1

J'ai une page de php et j'ai un certain code de javascript pour avoir un total courant de quelques champs. J'ai assez bien copié d'un test de travail que j'avais et modifié le code pour l'adapter. Eh bien ça ne marche pas et je n'arrive pas à travailler. Y at-il quelque chose de manifestement évident que je manque ou y a-t-il une autre raison pour laquelle ça ne fonctionne pas?Javascript ne fonctionnera pas sur la page de php

<?php 

//server connection info 

?> 
<html> 
<head> 
<title>Survey</title> 
<link rel="stylesheet" type="text/css" href="styles.css" /> 

     <script type="text/javascript"> 
      function Total() 
      { 

       var a=document.getElementById("a").value; 
       var b=document.getElementById("b").value; 
       var c=document.getElementById("c").value; 
       var d=document.getElementById("d").value; 

       a=parseInt(a); 
       b=parseInt(b); 
       c=parseInt(c);  

       var total=a+b+c; 



       document.getElementById("total").value=total; 


      } 


     </script> 


</head> 


<body> 
<h1>QUALITY OF LABOR SURVEY</h1> 
<p /> 
<h2>ABOUT YOUR COMPANY</h2> 


<div class="Wrapper"> 

    <form id="Main" method="post" action="Process.php"> 

     <div class="Question"> 
       1. In what state and county is your business located? (click below) 
     </div> 
     <div class='answer'> 
     <?php 
      $tsql = "select 
       StateCountyID, 
       State, 
       County 
       from dbo.StateCounty 
       where State='MO' 
         and Active='True' 
       order by State"; 

      $tsql2 = "select 
       StateCountyID, 
       State, 
       County 
       from dbo.StateCounty 
       where State='IL' 
         and Active='True' 
       order by State"; 


      /* Execute the query. */ 
      $stmt = sqlsrv_query($conn, $tsql); 
      if ($stmt) 
      { 

       echo "<span><select name='ListMO'>"; 
       echo "<option value='0'>MO-County</option>"; 

       while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)) 
       { 

        echo "<option value='".$row[0]."'>"; 
        echo $row[2]; 
        echo "</option>"; 

       } 

       echo "</select></span>"; 

      } 
      else 
      { 
        echo "Error in statement execution.\n"; 
        die(print_r(sqlsrv_errors(), true)); 
      } 


      $stmt2 = sqlsrv_query($conn, $tsql2); 
      if ($stmt2) 
      { 

       echo "<span><select name='ListIL'>"; 
       echo "<option value='0'>IL-County</option>"; 

       while($row = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_NUMERIC)) 
       { 
        echo "<option value='".$row[0]."'>"; 
        echo $row[2]; 
        echo "</option>"; 

       } 

       echo "</select></span>"; 

      } 
      else 
      { 
       echo "Error in statement execution.\n"; 
       die(print_r(sqlsrv_errors(), true)); 
      } 
     ?> 
      </div> 



     <table width="700px"> 
      <tr> 
      <td style="font-size: 1.2em; font-weight: bold;"> 
       ABOUT YOUR EMPLOYMENT 
      </td> 
      <td style="font-weight: bold;"> 
       (Exclude Temporary Employees Throughout Survey) 

      </td> 
      </tr> 

     </table> 

     <p /> 
     <b>Please estimate the following:</b> 







     <p /> 




     <div class="Question"> 
       4. Number of Full-Time Hourly Employees (Eligible for Full-Time Benefits) 
     </div> 

     <div class="Answer"> 
       <input type="text" id="a" value="0" onchange="Total();" /> 
     </div> 

     <div class="Question"> 
       5. Number of Part-Time Hourly Employees(Not Eligible for Full-Time Benefits) 
     </div> 

     <div class="Answer"> 
       <input type="text" id="b" value="0" onchange="Total();" /> 
     </div> 

     <div class="Question"> 
       6. Salaried Employees 
     </div> 

     <div class="Answer"> 
       <input type="text" id="c" value="0" onchange="Total();" /> 
     </div> 





     <div class="Question"> 
       7. Is this your current number of employees? If not, change responses to 4, 5, and 6. 
     </div> 

     <div class="Answer"> 
       <input type="text" id="total" value="0" onchange="Total();" /> 
     </div> 

Répondre

8
var d=document.getElementById("d").value; 

produit une erreur, parce que vous ne semblez pas avoir élément avec id="d"

+0

bon oeil là, SG – TheTXI

+0

quand j'ai regardé je pensais que ce dit l'autre a été d'abord * hausse les épaules * – DForck42

+0

Vérifiez le tri de vos questions. Faites-le trier par votes. –

1

Quelques choses à vérifier.

  • Ne fonctionne-t-il pas dans tous les navigateurs?
  • Avez-vous confirmé que le code exact fonctionne dans un fichier séparé
  • Avez-vous essayé de déplacer le script en bas de la page?

Vous devez également utiliser le Débogueur dans Firefox ou même trouver un outil comme Firebug pour Firefox. Aide beaucoup à trouver des problèmes comme celui-ci.

0

Veuillez essayer d'abréger votre question! Isolez-le!

Je recommande fortement d'utiliser également Firebug

Vous trouverez la réponse en un rien de temps :)

0

Vous avez pas d'élément « d » dans votre code HTML. Si vous commentez la ligne:

var d=document.getElementById("d").value; 

Il devrait fonctionner correctement

+0

SilentGhost vous a battu. – TheTXI

+0

merci. Je pensais que j'avais pris cette ligne, mais apparemment j'avais tort. ça marche maintenant, yay! – DForck42

+1

Je dirais que SilentGhost mérite le check more (surtout parce qu'il était 3 minutes plus vite), mais bon. – TheTXI

4

Je voudrais également donner quelques conseils pour améliorer votre code.

javascript Debugging

  • extension Firefox Firebug est absolument indispensable pour le débogage javascript.

https://addons.mozilla.org/en-US/firefox/addon/1843

Javascript Writting

  • javascript Mettre dans un fichier séparé, par exemple: myjavascript.js et comprennent ce fichier à partir de votre page html. Cela réduira le poids de votre page et vous aurez une séparation plus nette du code.
  • Utilisez le framework javascript pour vous aider à produire un meilleur javascript, par exemple jquery ou yui (la bibliothèque d'interface utilisateur de Yahoo!).

http://jquery.com/
http://developer.yahoo.com/yui/

PHP Writting

  • une meilleure séparation de PHP/HTML en mettant PHP dans le fichier séparé et inclure.Par exemple:

http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html/

Questions connexes