2011-05-23 4 views
0

Mon JavaScript fonctionnait et maintenant ce n'est pas le cas.JavaScript a soudainement cessé de fonctionner

Il est juste pour valider le formulaire

je commencé à appliquer mon modèle sur l'application et il semble à un moment donné, il vient de s'arrêter ... toutes les idées qui aurait pu le faire?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html> 
<head> 
    <title>Create Profile</title> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <link rel="stylesheet" type="text/css"href="style.css"> 

    <script type="text/javascript"> 
     function validateForm() 
     { 
      var firstName=document.forms["register"]["firstName"].value; 
      var lastName=document.forms["register"]["lastName"].value; 
      var UserName=document.forms["register"]["UserName"].value; 
      var Password=document.forms["register"]["Password"].value; 
      var description=document.forms["register"]["description"].value; 
      var DOB=document.forms["register"]["DOB"].value; 
      var likes=document.forms.register.elements['likes[]']; 
      var image=document.forms["register"]["image"].value; 

      var likesCheck = 0; 
      for (var i = 0; i < likes.length; i++) 
      { 
       if (likes[i].checked) 
       { 
        likesCheck++; 
       } 

      } 
      if (likesCheck == 0) 
      { 
       alert("likes must be selected"); 
       return false; 
      } 

      if (firstName==null || firstName=="") 
      { 
       alert("First Name must be valid."); 
       return false; 
      }  
      else if (lastName==null || lastName=="") 
      { 
       alert("Last Name must be valid."); 
       return false; 
      } 
      else if (UserName==null || UserName=="") 
      { 
       alert("UserName must be valid."); 
       return false; 
      }   
      else if (DOB==null || DOB=="") 
      { 
       alert("DOB must be valid."); 
       return false; 
      } 
      else if (Password==null || Password=="") 
      { 
       alert("Password must be valid."); 
       return false; 
      } 
      else if (image==null || image=="") 
      { 
       alert("image must be valid."); 
       return false; 
      } 
      else if (description==null || description=="") 
      { 
       alert("description must be valid."); 
       return false; 
      } 

     } 

</script> 
</head> 

<body> 
<div id="container"> 
<div id="header"> 
    <div class="title"><a href="index.php">The Griffith Dating Connection</a></div> 
    <div class="subtitle">find your &quot;study buddy&quot;</div> 
    <div class="intro-part1">Where Griffith singles meet.</div> 
    <div class="intro-part2"></div></div> 
<div id="nav"> 

<div id="nav-in-top"> 

</div> 

<div id="nav-in-middle"> 
<p class="title2">Navigation</p><br> 

<span> 
<a class="menu" href="index.php">Home</a> 
<a class="menu" href="allusers.php">View All Users</a> 
<a class="menu" href="doc.html">Documentation</a> 
</span> 
<p>&nbsp;</p> 

</div> 
<div id="nav-in-bottom"></div> 
</div> 
<div id="content"> 
<p class="title2"><b>Dating</b></p> 
<br> 

</div> 
<div id="box"> 


<form name="register" method="post" action="profiles.php" onSubmit="return validateForm()" enctype="multipart/form-data" class="classform"> 
     <table style="margin: 0 auto;" class="bordered"> 

     <tr> 
      <td class="col1"> First Name </td> 
      <td class="col2"> <input type="text" name="firstName" size=30> </td> 
     </tr> 
     <tr> 
      <td class="col1"> Last Name </td> 
      <td class="col2"> <input type="text" name="lastName" size=30> </td> 
     </tr> 
     <tr> 
      <td class="col1"> Username </td> 
      <td class="col2"> <input type="text" name="UserName" size=30> </td> 
     </tr> 
     <tr> 
      <td class="col1">Password </td> 
      <td class="col2"> <input type="password" name="Password" size=30> </td> 
     </tr> 
     <tr> 
      <td class="col1"> Gender </td> 
      <td class="col2"> 
      <input type="radio" name="gender" value="Male" checked>Male<br> 
      <input type="radio" name="gender" value="Female">Female<br> 
     </tr> 
     <tr> 
       <td class="col1"> Date of Birth </td> 
       <td class="col2"> <input name="DOB" type="text" value="YYYY/MM/DD" size=30> </td> 

     </tr> 
     <tr> 
      <td class="col1"> Email </td> 
      <td class="col2"> <input type="text" name="email" size=30> </td> 
     </tr> 
     <tr> 
      <td class="col1"> Description </td> 
      <td class="col2"> <textarea name="description" cols="60" rows="10"></textarea> </td> 
     </tr> 
     <tr> 
      <td class="col1"> Likes </td> 
      <td class="col2"> 
           <input type="checkbox" name="likes[]" value="1">Swimming 
           <input type="checkbox" name="likes[]" value="2">Dancing 
           <input type="checkbox" name="likes[]" value="3">walking 
           <input type="checkbox" name="likes[]" value="4">making pizza 
           <input type="checkbox" name="likes[]" value="5">wrestling 
           <input type="checkbox" name="likes[]" value="6">ddddd 
           <input type="checkbox" name="likes[]" value="7">ddddd 
           <input type="checkbox" name="likes[]" value="8">ddddd 
           <input type="checkbox" name="likes[]" value="9">ddddd 
           <input type="checkbox" name="likes[]" value="10">sss 
           <input type="checkbox" name="likes[]" value="11">system 
           <input type="checkbox" name="likes[]" value="12">sysss 
           <input type="checkbox" name="likes[]" value="13">newer 
           <input type="checkbox" name="likes[]" value="14">newer 
          </td> 
     </tr> 
     <tr> 
      <td class="col1"> Create a new like</td> 
      <td class="col2"> 
       <input type="text" name="newlike" size=30><br> 
      </td> 

     </tr> 
     <tr> 
      <td class="col1">Profile Picture</td> 
      <td class="col2"> 
       <input type="file" name="file" id="file"> 
      </td> 
     </tr> 

     <tr> 
      <td colspan=2 style="text-align: center"> 
       <input type="submit" name="submit" value="Submit"> 
       <input type="reset" name="reset" value="Reset"> 
      </td> 

     </tr> 
     </table> 
     </form> 
</div> 

<div id="footer"> Josip Zirdum Griffith Student Number &quot;s2794971&quot; </div> 
</div> 
</body> 
</html> 

Je reçois cette erreur:

j'avoir fixé. Le problème était que j'appelais "image" mais j'ai appelé l'élément de formulaire "fichier". J'ai oublié cela récemment. Désolé pour le genre de perdre votre temps. Mais merci pour les tours de débogage :)

+4

Avec des problèmes comme ceux-ci, le meilleur endroit pour commencer est «ce qui a changé? –

+0

Ajoutant à peu près le modèle. pour moi, il semble surSubmit ne fonctionne plus dans la fonction de forme ... pas sûr de ce que cela signifierait cependant. –

+0

Ça va probablement être quelque chose à voir avec l'ajout d'un Doctype qui déclenche le mode standard, cela signifie qu'une erreur que vous avez faite n'est pas laissée passer ... mais le suivi de tout ce script va être un travail fastidieux. Quel message d'erreur obtenez-vous dans votre débogueur JS? – Quentin

Répondre

6

Votre JS recherche Description mais votre contrôle de formulaire est nommé description.

(Il peut y avoir d'autres erreurs, mais qui est celui qui est à l'origine actuellement JS bug et ne pas return false)

+0

Je l'ai fait maintenant ça ne marche toujours pas. –

+4

Comme je l'ai dit, il peut y avoir d'autres erreurs. Le suivant est que vous cherchez un contrôle de formulaire nommé image et il n'y en a pas. Sérieusement ** regardez la sortie d'un débogueur JS **. – Quentin

+0

Je l'ai réparé. Le problème était que j'appelais "image" mais j'ai appelé l'élément de formulaire "fichier". J'ai oublié cela récemment. Désolé pour le genre de perdre votre temps. Mais merci pour les trucs de débogage :) –

2

Je vais vous donner un conseil,

votre javascript semble ok, mais vous devriez utiliser si vous n'êtes pas, l'extension Firefox appelée Firebug, allumez-le pour votre page et il sera vous montrer des erreurs si vous en avez et vous aidera dans le développement web.

Vous pouvez l'obtenir http://getfirebug.com/

et également ajouter return true; à la fin de vos méthodes

+1

Plus d'un commentaire qu'une réponse, mais de bons conseils. – Orbling

+0

+1. en fait, c'est deux conseils ... ;-) – Spudley

+2

Pourquoi l'OP devrait-il ajouter 'return true;'? Ce n'est pas nécessaire. De plus, cela devrait être un commentaire, pas une réponse. –

4
Error: document.forms.register.Description is undefined 

Vous appelez ici - avec le capital D:

var Description=document.forms["register"]["Description"].value; 

Modifier à

var Description=document.forms["register"]["description"].value; 
+0

Je l'ai fait maintenant ça ne marche toujours pas. –

+0

Erreur: [Exception ... "'Composant JavaScript n'a pas de méthode nommée:" getInterface "' lors de l'appel de méthode: [nsIInterfaceRequestor :: getInterface]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" emplacement: "" données: non ] –

Questions connexes