formulaire impossible à valider après requête ajax

Petit nouveau ! | 2 Messages

14 sept. 2011, 07:54

Bonjour,

Voilà le topo:

un formulaire php, deux boutons submit, l'un pour afficher le prix, l'autre pour envoyer la réservation.

Sitôt que l'on affiche le prix, via une requête ajax qui envoie les variables du formulaire à un fichier php et affiche le prix sans recharger la page, le formulaire devient impossible à valider via le bouton "reservation".

le formulaire :

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>

<script type="text/javascript" src="calcul.js"></script>

<form method="post" name="formulaire" id="formulaire_calcul" action="reception_cadre.php">
...
....
<input type="hidden" name="action" value="Calculer">
<input type="submit" onclick="return check()" value="Réserver" name="reserver">
<input type="submit" onclick="check2()" value="Voir le prix" name="submit">


// La Fonction de validation du formulaire

function check() {
var msg2 = "";

if (document.formulaire.adresse.checked==true && document.formulaire.ville.value=="")
{

msg2 += "Veuillez saisir une adresse de départ.\n";
}
...........


if (msg2 == "") return(true);

else {
alert(msg2);
return (false);
}
}


Le Fichier calcul.js appelle le fichier controleur.php qui lui renvoie le prix


function check2() {
$(document).ready(function() {
$("form#formulaire_calcul").submit(function() {
$.getJSON("controleur.php",
{"action" : "calculer",


"ville" : $("input#ville").val(),
"ar_ville" : $("input#ar_ville").val(),
.....
.........
},



function(data) {
$("input#prix").val(data['prix']);
$("input#resultat_multiplication").val(data['resultat_multiplication']);
}
);
return false;
});
});}


Le return(true); de la fonction check() n'est donc plus pris en compte une fois la fonction check2 lancée, comment faire pour parvenir à valider ce formulaire par n'importe quel moyen (php, ajax, javascript..?) J'ai parcouru google pendant plusieurs heures en vain, merci à celui qui pourra m'aider.

Petit nouveau ! | 2 Messages

14 sept. 2011, 11:32

Je pense y être parvenu :

onclick="document.forms['formulaire'].submit();"