Passage d'une variable d'une fonction a une autre
Bonjour a tous!
Je vais essayé de m'expliquer clairement.
J'ai 2 formulaires de ce genre:
Code:
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:
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:
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:
<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:
<input type="button" value="Envoyer" onclick="testChampsEtSubmit(0,'newDiscussion')>
Voila j'espere que vous m'aurez compris :)