Probléme submit par Javascript

Fermé
needles - Modifié par needles le 29/03/2011 à 15:02
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 - 30 mars 2011 à 14:58
Salut, je ne comprends pas ce qui ne vas pas dans mon script de vérification d'un formulaire + envoi en POST vers traitement php, voici le code:
Le js:

<script type="text/javascript"> 
function verifierMail 
(champ) { 
var str = champ.value; 
var regexp = new RegExp("^[a-zA-Z0-9_\\-\\.]{3,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g"); 

if 
(!regexp.test(str)) { 
alert("L'adresse e-mail n'est pas valide !"); 
champ.focus(); 
return false; 
} 
return true; 
} 

function controle(){ 
var msg=""; 

if(document.formulaire.nom.value=='' || !isNan(document.formulaire.nom.value)) 
 { 
 msg+='-Veuillez indiquer votre nom'; 
 } 
if(document.formulaire.prenom.value=='' || !isNan(document.formulaire.prenom.value)){ 
 msg+='-Veuillez indiquer votre prénom'; 
 } 
if(document.formulaire.courriel.value=='' || !verifierMail(document.formulaire.courriel.value)){ 
msg+="-Veuillez indiquer un email valide"; 
 } 
if(document.formulaire.demande.value==''){ 
msg+="-Veuillez préciser votre demande"; 
 } 
if(msg==""){ 
  document.formulaire.submit(); 
 }else{ 
  
 alert(msg); 
 } 
  alert(msg); 
} 
</script> 
<head>

Et l'envoi, les infos du formulaire, il me semblait qu'on pouvait indiquer la page de redirection directement en js ainsi que la méthode(post ou get) mais je n'ai plus mon vieux code:

<form id="formulaire" METHOD="POST" ACTION="envoiformulaire.php"> 
 <table class="form"> 

<!---...puis --> 

   <input onClick="controle()" class="btenvoi" type="button" value="Envoyer" />




ps:bizarre dans la liste des post je voit qu'il y a une réponse mais elle ne s'affiche pas.. pb de latence pe etre....
A voir également:

5 réponses

dsjl Messages postés 300 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 9 avril 2015 288
29 mars 2011 à 14:57
<input type="button" value="Envoyer" onclick="envoiformulaire.php'">


essaye çà a la fin de ta page HTML, mais je suis pas certain de ma réponse
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
29 mars 2011 à 14:57
Rassure-moi, c'est pour gagner du temps que tu ai zappé '..getElementById..' dans ton post ? ^^.
0
Euh siniko44 je vois pas ta réponse...
Merci si vous avez une idée d'où vient le problème.
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
Modifié par siniko44 le 29/03/2011 à 15:34
@dsjl Ah non t'y est pas là ^^.

Enfait Needles, je voit pas comment tu as pu en arrivé la sans ça.
"document.getElementById('objet')","document.getElementsByName('objet')", etc. c'est la base du javascript. Ce sont des constantes qui permettent d'identifier l'objet désigné.
Tu peux pas écrire "document.formulaire.nom.value" en Javascript, sa veut rien dire.
Si tu veux désigné le formulaire, tu fait "document.getElementById('formulaire')". Entre autre, il va chercher l'objet à partir de son attribut "Id".

Et comme j'm'emmerde pas mal au boulot et que j'suis de bonne humeur, j'vais meme corriger ton code.

 
function controle(){  
var msg="";  
if(document.getElementById('nom').value=='' || !isNan(document.getElementById('nom').value))  
 {  
 msg+='-Veuillez indiquer votre nom';  
 }  
if(document.getElementById('prenom').value=='' || !isNan(document.getElementById('prenom').value)){  
 msg+='-Veuillez indiquer votre prénom';  
 }  
if(document.getElementById('courriel').value=='' || !verifierMail(document.getElementById('courriel').value)){  
msg+="-Veuillez indiquer un email valide";  
 }  
if(document.getElementById('demande').value==''){  
msg+="-Veuillez préciser votre demande";  
 }  
if(msg==""){  
  document.getElementById('formulaire').submit();  
 }else{  
   
 alert(msg);  
 }  
  alert(msg); // ? 
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ah oui merci le DOM je connait, je vais essayer de rajouter le getElement, ceci dit le DOM il sert pour changer des attributs(setAttibutes) ou le contenu d'une balise (innerHTML)et on peut très bien sélectionner un élément sans le getElement du moment que la hiérarchie est respectée(des noeuds ou alors je confonds )...
Bref le problème me vient d'ailleurs(je vais quand même essayer en rajouter du DOM) puisque ma boîte de message(alert) ne s'affiche pas...

ps: exempel sans avoir à recourir au DOM

document.write("coucou");

Pas besoin de getElementById/Name et on cible bien une élément spécifique, c'est la base de la syntaxe objet.

edit dernière modif..marche pas non plus :

function controle(){
var msg="";

if(document.getElementById('nom').value=='' || !isNan(document.getElementById('nom').value))
{
msg+='-Veuillez indiquer votre nom';
}
if(document.getElementById('prenom').value=='' || !isNan(document.getElementById('prenom').value)){
msg+='-Veuillez indiquer votre prénom';
}
if(document.getElementById('courriel').value=='' || !verifierMail(document.getElementById('courriel').value)){
msg+="-Veuillez indiquer un email valide";
}
if(document.getElementById('demande').value==''){
msg+="-Veuillez préciser votre demande";
}
if(msg==""){
alert("YAAAh"+msg);*/
document.getElementById('formulaire').submit();
}else{

alert(msg);
}


}

Rien ne se passe, si je vires mes if de vérification je suit bien redirigé ...
une idée? Merci
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
29 mars 2011 à 17:14
Très bien, très bien, je m'incline :p.
Et juste, pourquoi ce "alert("L'adresse e-mail n'est pas valide !");", et tu n'aurais pas oublié un 'else' dans ta fonction 'verfierMail' avant le return true ?
0
non je ne remplit pas le formulaire , en tout cas merci de te rendre la tête sur mon code^^
même sans la fonction verifiermail(allégrement pompé, la flemme des expressions régulières) il y a du poil dans le potage...hrmpf je sent que je vais juste faire la vérif en php.
0
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
30 mars 2011 à 14:58
Bah moi je sais que depuis chez moi j'ai réussis à créer un script du genre. Vérifie si tu n'aurais pas donné un id a tes champs déjà existants dans tes codes précédent ?
0