2010-07-21 11 views
0

Je sais que cela me regardant fixement probablement dans le visage, mais:Pourquoi retourner false avec onSubmit rechargement?

J'ai une base pour un pour en-tête:

<form onSubmit="return validateClinicalReports();" name="clinicalreport" method="post" action="process.php" enctype="multipart/form-data"> 

les js regarde chaque entrée en utilisant: document.getElementById (« nom »). S'il voit que l'entrée est vide, il colore l'entrée en jaune, la sélectionne et donne le focus. Assez simple, je l'utilise sur une autre forme qui a des entrées différentes:

if(name == "") 
    { 
     document.getElementById("name").style.backgroundColor = "yellow"; 
     document.getElementById("name").select(); 
     document.getElementById("name").focus(); 
     return false; 
    } 

Je littéralement recopié que d'une autre fonction (juste changé la variable et id nom). Quand je soumets je peux le voir prendre l'entrée vide jaune, alors il recharge tout le formulaire. Mes autres formes fonctionnent bien avec.

Des idées?

+0

N'utilisez pas "name" comme variable ou id car window.name est une variable réelle. Au lieu de l'appeler FirstName ou tel – mplungjan

Répondre

0

s'avère que vous ne devriez pas obtenir pressé et utiliser un mot clé prédéfini comme vous le nom identifiant l'entrée ::: headdeask :::

0

Le gestionnaire onSubmit appelle validateClinicalReports() sans aucun paramètre. Vous n'avez pas inclus la fonction complète, mais qu'est-ce que la variable "name" et d'où vient-elle? Je pense que le code "if (name ==") "" n'est pas exécuté du tout. Vous pouvez vérifier qu'il est appelé en ajoutant un appel alert() en tant que première instruction dans le corps if. Vous pouvez probablement supprimer complètement le test if() et toujours exécuter le code. De plus, si vous allez utiliser getElementById(), vous devez ajouter "id = name" à la balise de formulaire.

+0

le validateClinicalReports n'a besoin d'aucun paramètre dans ce cas. Je n'ai pas besoin de lui transmettre quoi que ce soit puisqu'il tire la valeur de la variable dans l'instruction if. La variable de nom était juste un exemple utilisé dans cette question comme espace réservé pour n'importe quelle variable. J'ai utilisé "location" comme variable. Je l'ai changé pour "loc" et cela a fonctionné. – dcp3450