Bonjour a tous!


Je vais essayé de m'expliquer clairement.

J'ai 2 formulaires de ce genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<body onload="inputJsActive('newDiscussion');submitButton('newDiscussion');
inputJsActive('newAnswer');submitButton('newAnswer');
								">
		<h1>Bienvenue sur le forum</h1>
		<br />
		<form action="#" method="post" class="formulaire" >
			<fieldset id="newDiscussion">
      <legend>Créer une nouvelle liste de discussion</legend>
			<p>
			<label for="nicknameNewDiscussion">Votre login :</label>
			<input type="text" name="nickname" value="<?php echo $nicknameCookie ?>" id="nicknameNewDiscussion" />
			</p>
			<p>
			<label for="emailNewDiscussion">Votre email :</label>
			<input type="text" name="email" value="<?php echo $emailCookie ?>" id="emailNewDiscussion" />
			</p>
			<p>
			<label for="contentNewDiscussion" class="textarea">Votre message :</label>
			<textarea name="content" rows="10" id="contentNewDiscussion" ></textarea>
			</p>
			<input type="hidden" name="parent" value="0" />
			<noscript>
				<input type="submit" value="Créer un nouveau message" />
			</noscript>
			</fieldset>
		</form>

j'ai donc 2 id, dans celui ci c'est id="newDiscussion" , dans l'autre c'est id="newAnswer".

Je veux ajouter un bouton <input type="button" value="envoyer" onclick="testChampsEtSubmit()"> à ces 2 formulaires où la fonction testChampsEtSubmit() doit tester avec des regex l'email et le nickname.

j'ai donc dans mon fichier js, le filtre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
testChampsEtSubmit(num,form) 
	{
        var test=true;
	var formulaire= 'document.';
	formulaire += form;
        with(document.form) 
		{
		// vérification du champ message
                if(message.value=="") 
			{
                         alert("Tapez d'abord votre message !");
                         message.focus();
                         test=false;
                         }
                // vérification du champ email
                var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
                if(reg.exec(email.value)==null) 
			{
                        alert("Votre email est invalide !");
                        email.focus();
                        test=false;
                        }
                // vérification du champ login
                reg = /^[A-Za-z0-9_-]{3,}$/
                if(reg.exec(login.value)==null) 
			{
                        alert("Votre login est invalide !");
                        login.focus();
                        test=false;
                        }
                reponse.value=num;
                if(test) submit();
                }
       }
Et la fonction de création du bouton sur laquelle j'ai le probleme en question:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
function submitButton(form)
	{
	var formulaire = document.getElementById(form);
	var nouvelInput = document.createElement("input");
	nouvelInput.setAttribute("type", "button");
	nouvelInput.setAttribute("value", "Envoyez");
	// Le probleme est là :
	nouvelInput.setAttribute("onclick", "testChampsEtSubmit(0,form)"); 
	formulaire.appendChild(nouvelInput);
	}
Mon probleme est que quand je vais appeler la fonction submitButton('newDiscussion'), cette derniere va créer un bouton
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="button" value="Envoyer" onclick="testChampsEtSubmit(0,form)>
qui evidement ne filtrera rien comme y'a pas de id="form".

Ce que moi j'aimerais c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="button" value="Envoyer" onclick="testChampsEtSubmit(0,'newDiscussion')>
Voila j'espere que vous m'aurez compris