Formulaire soumit malgres un return false

Résolu/Fermé
daureluc - 16 avril 2010 à 15:54
 daureluc - 16 avril 2010 à 16:03
Decidement, javascript et moi on est pas copain...
voici un petit script pas compliquer mais qui pose souci si vous l'accepter, votre mission sera de m'aider a trouver le bug lol

bug description :
- On click sur le bouton paypal
- On a une alert qui nous indique que l'on a pas cocher les case
- le formulaire est soumis malgres tout au lieu de rester sur la page initiale

Javascript :

function checkterms()
{
var error = false;
var error_message = "Please check the following: \n\n";
var quote = document.form.quote;
var terms = document.form.terms;

if(quote.checked == false || terms.checked == false)
{
error = true;
error_message = error_message+ "* Please check your quote and our terms and condition\n";
}

	if(error == true)
	{
	alert(error_message);
	return false;
	}
	else{
	document.paypal.submit();
	}
}


Cette fonction permet de verifier si 2 cases (quote et terms) sont bien cochee. Elle se trouve dans un petit formulaire nome : form

Si les deux cases sont cochee, le formulaire nomme "paypal" doit etre soumis, sinon le formulaire "paypal" n'est pas soumit et une alert apparet (please check...).

voici le formulaire dans lequel on trouve les cases a cochee :

<form name="form">
<input type="checkbox" name="quote">Quote Details<br>
<input type="checkbox" name="terms">Our Terms and Condition
</form>


Enfin voici le bouton paypal sur lequel le javascript se declanche

<form action="https://www.paypal.com/fr/home" method="post" onsubmit="checkterms();" name="paypal">
[...]
<input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>


Si vous pouvez m'aider, merci infiniment.
Desolee s'il y a des fautes, mon francais est tres moyen

1 réponse

finalement j'ai modifie mon code comme suit et cela fonctionne tres bien

onsubmit="return checkterms();"
0