11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

Sur une Form, je fais un contrôle :

onSubmit="return (checkFieldsA1())"

qui fonctionne bien.

Je veux ajouter un deuxième contrôle :

onSubmit="return (checkFieldsB1())"

qui fonctionne très bien seul.

J’essaie maintenant de spécifier les deux contrôles au onSubmit en essayant plusieurs solutions :
 
onSubmit="return (checkFieldsA1();checkFieldsB1())"
onSubmit="return (checkFieldsA1() && checkFieldsB1())"
…

suivant ce que j’ai trouvé dans les Forums, sans succès.

Comment spécifier deux clauses à un onSubmit ?

Au besoin, une des deux fonctions, très semblables entre elles :

function checkFieldsA1() 
	{
		missinginfo = "";
	if ((document.form.mailperso.value == "") ||  (document.form.mailperso.value.indexOf('@') == -1) ||  (document.form.mailperso.value.indexOf('.') == -1)) 
		{
		missinginfo += "\n l\'adresse mail";
		}
	if (missinginfo != "") 
		{
		missinginfo ="_____________________________\n" +
		"Assurez vous de remplir:\n" +
		missinginfo +
		"\ncorrectement." + 
		"\n_____________________________";
		alert(missinginfo);
		return false;
		}
	}
Pour l’autre fonction :
if ((document.form.webmailperso.value == "") || ( (document.form.webmailperso.value.indexOf('https://') == -1) && (document.form.webmailperso.value.indexOf('http://') == -1) ) || (document.form.webmailperso.value.indexOf('.') == -1))
	


Par avance merci de votre réponse.

Francois
Salut,

Tu peux sinon faire qu'une seule fonction et tu passes en paramètre le type du onsubmit du style :

onSubmit="return (checkFields('A1'))"
onSubmit="return (checkFields('B1'))"


Et puis tu fais des conditions dans ta fonction ^^
Salut,

Dans ton cas précis, ça a l'air de pouvoir se régler simplement comme ça :
onSubmit="return checkFields('A1') && checkFields('B1');"
Merci de vos réponses.

Les deux fonctions ne font pas la même chose: vérification de saisie d'une adresse mail pour l'une, d'une Url pour l'autre.

Bien sûr, je pourrais mettre les deux fonctions en une seule.

Mais j'aimerai bien savoir comment faire pour invoquer deux fonctions de traitement différent.

Francois
Bonjour

J’ai mis les deux fonctions de contrôle ensemble mais la première partie ne contrôle rien :

<!--  Check Internet fields  pour saisieProfil.php -->
<!-- Begin
function checkFieldsC() 
	{
	missinginfo1 = "";
	if ((document.form.mailperso.value == "") ||  (document.form.mailperso.value.indexOf('@') == -1) ||  (document.form.mailperso.value.indexOf('.') == -1)) 
		{
		missinginfo1 += "\n l\'adresse mail";
		}
	if (missinginfo1 != "") 
		{
		missinginfo1 ="_____________________________\n" +
		"Assurez vous de remplir:\n" +
		missinginfo1 +
		"\ncorrectement." + 
		"\n_____________________________";
		alert(missinginfo1);
		return false;
		}
	else return true;
		
	missinginfo = "";
	if ((document.form.webmailperso.value == "") || ( (document.form.webmailperso.value.indexOf('https://') == -1) && (document.form.webmailperso.value.indexOf('http://') == -1) ) || (document.form.webmailperso.value.indexOf('.') == -1))
		{
		missinginfo += "\n l\'URL";
		}
	if (missinginfo != "") 
		{
		missinginfo ="_____________________________\n" +
		"Assurez vous de remplir:\n" +
		missinginfo +
		"\ncorrectement." + 
		"\n_____________________________";
		alert(missinginfo);
		return false;
		}
	}
//  End -->

A votre avis ?

Merci par avance de votre aide.

Francois