Problème d'envoi d'un formulaire avec xmlhttprequest
Bonjour,
Je développe un site et j'utilise un XMLhttprequest pour aller mettre à jour une table de ma base de données.
Dans ma fonction javascript qui appelle mon script php, j'ai mis un alert() pour vérifier que mes paramètres soient corrects.
Mon problème c'est que quand il y a le "alert()" tout ce passe bien et les mises à jour ce font bien, par contre quand j'enlève le "alert()", il y a mon message d'erreur qui s'affiche (Problème grave, prévenir la maintenance, pas d'ajout de document) (cf code).
Est-ce déjà arrivé à quelqu'un ?
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| function majdoc(type){
// Contrôle des saisies
switch(type)
{
case 0:
doc_nom = document.getElementById("nom_doc").value;
nom_aut = document.getElementById("nom_aut").value;
doc_com = document.getElementById("doc_com").value;
doc_typ = document.getElementById("type").value;
doc_cat = document.getElementById("cat").value;
// Contrôle des saisies
if(doc_nom == ""){
alert("Le nom du document est obligatoire");
document.getElementById("nom_doc").focus();
return false;
}
if(nom_aut == ""){
alert("Le nom de l'auteur est obligatoire");
document.getElementById("nom_aut").focus();
return false;
}
if(doc_com == ""){
alert("Veuillez décrire le document ajouté");
document.getElementById("doc_com").focus();
return false;
}
if(doc_cat == ""){
alert("Veuillez choisir une catégorie");
return false;
}
// Création de la chaine de paramètres
chaine = "nom=" + doc_nom + "&aut=" + nom_aut + "&com=" + doc_com + "&typ=" + doc_typ + "&ext=";
break;
case 1:
doc_nom = document.getElementById("nom_doc").value;
doc_com = document.getElementById("doc_com").value;
doc_typ = document.getElementById("type").value;
doc_ext = document.getElementById("ext").value;
doc_cat = document.getElementById("cat").value;
// Contrôle des saisies
if(doc_nom == ""){
alert("Le titre de la demande est obligatoire");
document.getElementById("nom_doc").focus();
return false;
}
if(doc_com == ""){
alert("Veuillez ajouter le texte de votre demande");
document.getElementById("doc_com").focus();
return false;
}
if(doc_ext == ""){
alert("Veuillez sélectionner un type de document");
return false;
}
if(doc_cat == ""){
alert("Veuillez choisir une catégorie");
return false;
}
// Création de la chaine de paramètres
chaine = "nom=" + doc_nom + "&aut=&com=" + doc_com + "&typ=" + doc_typ + "&ext=" + doc_ext;
break;
default:
alert("Gros problème prévenir le support technique");
break;
}
// Récupération des paramètres
var obj;
// Détection du navigateur utilisé
if(window.XMLHttpRequest) // Firefox
obj = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
obj = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
// Définition des paramètres d'envoi
obj.open("POST","MajDocOk.php",true);
// Traitement de la requête
obj.onreadystatechange = function(){
if(obj.readyState == 4){
if(obj.responseText == ""){
alert("Problème grave, prévenir la maintenance, pas d'ajout de document");
}
else{
document.getElementById("Aff").innerHTML = obj.responseText;
}
};
}
// Envoi de la requête
obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
obj.send(chaine);
alert(chaine);
} |