Probleme javascript action form

Résolu/Fermé
ussef - 7 mai 2010 à 16:19
 ussef - 7 mai 2010 à 17:13
salut tout le monde,

voilà que je vais faire:
1- tester si la date et valide : function1 ( change class div )
2-selectionnée ou moins une chambre : function 2 ( get url )

probléme:

l'url n'est pas pris en conséderation, elle ne change pas
et le msg verif date s'affiche 1e seconde et s'envole

code js

<script language="javascript" type="text/javascript">

function change_class() {
if (document.getElementById("datepicker2").value < "<?php echo $dd1=date('d-m-Y'); ?>"){ 
document.getElementById("VerifDate").className ="visible";
}

}

function envoyer(form){
if (document.form.DRSelect.value != "0" && document.form.SRSelect.value != "0" && document.form.TRSelect.value != "0" && document.form.QRSelect.value != "0" ){
document.form.action="reservation-2.php?hotId=<?php echo $hotId ; ?>";
}else{
document.form.action="#";
document.getElementById("VerifChambre").className ="visible";

}
} 


</script>


css

<style type="text/css">

.visible { visibility:visible }
.not_visible { visibility:hidden }

</style>



html

<form name="Hotel_Selection" method="post" onSubmit="envoyer(this.form);" id="Hotel_Selection">


<input type='text' name='dated' id='datepicker2' value=".$datecal." />




<div id="VerifDate" class="not_visible" style="border:#FF0000 solid 1px" align="center"><span style="color:#FF0000">veuillez sélectionner un date valide</span></div>
<div id="VerifChambre" class="not_visible" style="border:#FF0000 solid 1px" align="center"><span style="color:#FF0000">veuillez sélectionner ou moins une chambre</span></div>

<input type="submit" class="cr_button-book" value="Tarif et Dispo" onclick="change_class();" />

</form>


merci de votre aide
A voir également:

4 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
7 mai 2010 à 16:23
Tu veux dire que l'action ne change pas ?
pas étonnant, ton code js est faux :

Tes
document.form.action
sont à remplacer par
document.forms["Hotel_Selection"].action
1
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
7 mai 2010 à 16:53
Ben oui, normal qu'il disparait, le formulaire est dans tous les cas envoyé ...
Il ne faudrait envoyer le formulaire que si il est correct, si tu veux afficher un message d'erreur

Je ferai comme ceci :

function envoyer(form){
if (document.form.DRSelect.value != "0" && document.form.SRSelect.value != "0" && document.form.TRSelect.value != "0" && document.form.QRSelect.value != "0" ){
document.form.action="reservation-2.php?hotId=<?php echo $hotId ; ?>";
return true;
}else{
document.form.action="#";
document.getElementById("VerifChambre").className ="visible";
return false;
}



Et


<form name="Hotel_Selection" method="post" onSubmit="return envoyer(this.form);" id="Hotel_Selection">
1
Merci bien jeangilles, problème résolue de form

mais il reste une autre bug celle de message fonction change_class(); le message s'affiche puis il disparue parce que la page ce recharge de nouveau

avez vous une idée d'où parvient la problème

merci d'avance
0
Bravo jeangilles , j'ai aimé js grace à vous

merci pour votre aide
0