Probleme javascript action form

Résolu
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

4 réponses

  1. 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
    1. 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
      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
        1. Bravo jeangilles , j'ai aimé js grace à vous

          merci pour votre aide
          0