ordre d'execution javascript
Bonjour,
j'ai �crit un fonction en JS pour faire un insert en base puis rediriger l'internaute vers une autre fenetre. pour �a j'utilise un XMLHTTPRequest qui fonctionne tr�s bien sans la redirection. en effet quand je mets en place les condition de redirection il fait la redirection avant de faire la requete.
voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| function insert(){
var carte=getRadioVal('carte');
var nom = document.getElementById('champsnom');
var nom_value = nom.value;
var prenom = document.getElementById('champsprenom');
var prenom_value = prenom.value;
var mail = document.getElementById('champsmail');
var mail_value = mail.value;
var type=getRadioVal('typo');
if (type=='typpf'){
var nommag=document.getElementById('searchp');
}
if (type=='typst'){
var nommag=document.getElementById('searchs');
}
if (type=='typmg'){
var nommag=document.getElementById('searchm');
}
var mag_value=nommag.value;
db.transaction(
function(t){
t.executeSql("INSERT INTO gvappprod VALUES (?,?,?,?,?)", [nom_value,prenom_value,mail_value,mag_value,carte]);
}
);
if (window.navigator.onLine){
db.transaction(
function(t){
t.executeSql("SELECT nom AS nom, prenom AS prenom, mail AS mail, enseigne AS enseigne, choix AS choix FROM gvappprod",[],function(t,r){
for (var i=0;i<r.rows.length;i++){
nomloc=r.rows.item(i).nom;
prenomloc=r.rows.item(i).prenom;
mailloc=r.rows.item(i).mail;
magloc=r.rows.item(i).enseigne;
choixloc=r.rows.item(i).choix;
//alert(mailloc);
xhr = new XMLHttpRequest();
xhr.open("GET", "insert.php?nom=" + nomloc + "&prenom=" + prenomloc + "&mail=" + mailloc + "&mag=" + magloc + "&choix=" + choixloc, true);
alert ('on fait le send');
xhr.send(null);
}
});
}
);
vidange();
}
resetform();
if (sessionStorage.getItem("page")=="1") {
alert("onpart sur fin");
//window.location.href='fin.html';
} else {
alert("onpart sur mobile");
//window.location.href='trans.html';
}
}; |
il fait "alert("onpart sur fin");" avant de faire "alert ('on fait le send');" du coup j'ai rien en base.
je ne vois pas d'erreur pourtant. je pensait que JS s'ex�cutait de haut en bas. si c'est une erreur d'accolade ou de point virgule, je ne vois pas ou elle est.
d'avance merci pour votre aide.