Pb validation formulaire sur firefox suite a un pb

Bonjour a tous,

je viens de remarquer quelque chose de surprenant:

j’ai un formulaire:

. mes champs . .

derriere je vais donc sur la page verif_ajout_articles.php qui recupère les valeurs des champs par POST et les mets dans une fonction ou je verifie si les champs sont vides ou “pleins”

par exemple:
($ref==’’)
{
?>

<?php
}

considérant que si la valeur est vide, le script ne doit pas continuer donc je ferme purement et simplement la page ains ouverte.
Je reviens donc ensuite sur la page de formulaire donc je corrige le problème et la quand j’appuis sur “ajout” rien ne se passe! comme si le submit est mort

Comme je disais le problème touche uniquement firefox, IE6 fonctionne bien sur ce code.

Avez vous eu ce problème?

merci

J’ai rien compris. Tu peux la refaire en plus compréhensible?

en gros j ai un formulaire. J’envoi les valeurs du formulaire dans une autre page (avec target=_blank)

cette autre page vérifie les valeurs. Pour certaines qui sont obligatoires, en cas de problème (valeurs vide par exemple) je fais afficher un message via un alert(), puis je ferme la page de controle.

l’utilisateur revient donc sur la page du formulaire, corrige le problème puis est censé revalider le formulaire.

Et la le problème se pose: sous firefox le bouton submit n’agitplus du tout, j’ai beau appuyer dessus c’est comme ci l’action du form n’existait plus!

Par contre sous IE6 (et depuis j’ai testé sous IE7) ca fonctionne parfaitement.

J’ai pu plus ou moins contourner le problème en envoyant les valeurs du formulaire dans la page de vérification par l’intermédiaire d’un popup (au lieu de l’envoyer directement dans la page situé dans l’action du form) et la le meme code fonctionne bien sous tous les navigateurs (FF, IE6 et IE7), néanmoins j’aimerais bien comprendre le problème.

j’espère avoir été plus clair :slight_smile:

je corrige encore ce que jai dis

le problème apparait dès qu’on envoi les valeurs du formulaire dans un autre page (action=“autrepage.php” avec target="_blank")

et donc on ne peut valider a nouveau le formulaire initial sans recharger la page complète

juste une erreur de / ou \ peut bloquer firefox

bonjour

A partir du moment ou tu décides que ton site fonctionne avec JavaScript (là pour la fermeture de la popup)
pourquoi ne valides tu pas les données de ton formulaire en JavaScript?

Si tu préfères faire la validation avec php (libre à toi après tout)
le mieux serait de ne pas envoyer le formulaire en popup mais en mode normal (donc sans le target), si tu détectes une erreur tu retournes au formulaire avec une variable erreur par exemple que tu alert dans le formulaire…
le seul soucis de cette solution est que tu dois également repasser en paramètre tous les champs du formulaire pour le re-remplir…

à mon avis la solution de valdiation du formulaire en JavaScript est la plus simple :


<script type="text/javascript">
function validateForm(lForm) {
    if(lForm.ref.value.length == 0) { alert('Merci de saisir la référence'); return false; } //KO
    return true; //OK
}
</script>
...
<form name="form" method="post" action="verif_ajout_articles.php" onsubmit="return validateForm(this)">
</form>

a+
Edité le 18/01/2008 à 16:33