begin process at 2012 05 29 16:37:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Problème d'envoi de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'envoi de données

lundi 9 octobre 2006 à 15:54:48 | Problème d'envoi de données

couicoui

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 ?

Mon code :
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);
}


Lecra
mardi 10 octobre 2006 à 00:20:04 | Re : Problème d'envoi de données

PetoleTeam

Membre Club
B onsoir...
...un lien utile A voir ICI ...
;0)
mercredi 11 octobre 2006 à 14:11:55 | Re : Problème d'envoi de données

couicoui

Bonjour,

merci mais le problème est toujours là.
J'utilise cette syntaxe pour d'autres fonctions dans le même projet et il n'y a pas d'erreur.
Il semble que ce problème apparaisse quand il y a récupération de données sur la page par un getElementById.

jeudi 12 octobre 2006 à 01:02:49 | Re : Problème d'envoi de données

rubiks10

Membre Club
Salut

Tu parles de quelle alert() que tu enleves et que tu remets ??
jeudi 12 octobre 2006 à 01:09:35 | Re : Problème d'envoi de données

rubiks10

Membre Club
Re salut

tu devrais tester si l'erreur viens de l'objet AJAX ou si elle vient de ton php
change ta fonction par celle ci

obj.onreadystatechange = function(){
        if(obj.readyState == 4){
               if(obj.status == 200 ){
                     if(obj.responseText == ""){
                        alert("Problème grave, prévenir la maintenance, pas d'ajout de document");
                     }
                     else{
                        document.getElementById("Aff").innerHTML = obj.responseText;
                     }
               }
               else alert('code erreur : '+obj.status+'   status : '+obj.statusText);
}



Si l'ajax c'est bien déroulée alors tu n'auras pas mon alert décrivant le code erreur et le statut courant et donc cela vien du php

voila bon courage

-- The Rubik's Man --
jeudi 12 octobre 2006 à 09:25:31 | Re : Problème d'envoi de données

couicoui

Salut,

Je parlais du dernier alert().
Je vais tester ton code dans la matinée et te tiends au courant


jeudi 12 octobre 2006 à 10:12:00 | Re : Problème d'envoi de données

couicoui

Ok j'ai testé et ton alert() n'apparait pas, il faut que j'aille creuser côté php.
Ce que je comprends pas, c'est pourquoi ça marche quand il y a le "alert()"

Merci
jeudi 12 octobre 2006 à 12:39:51 | Re : Problème d'envoi de données

couicoui

J'ai changé mon code php par :

<?
$nom = $_POST['nom'];
$aut = $_POST['aut'];
$com = $_POST['com'];
$typ = $_POST['typ'];
$ext = $_POST['ext'];

echo "<div id=\"test\">
        nom : $nom<br>
        aut : $aut<br>
        com : $com<br>
        typ : $typ<br>
        ext : $ext
    </div>";
?>

et il présente toujours le même problème.

Je ne comprend pas pourquoi quand il y a le "alert()" le "responseText" est alimenté alors que quand je l'enlève, le "responseText" = ""

Je crois que je vais casser du pc avant la fin de la journée
jeudi 12 octobre 2006 à 22:11:52 | Re : Problème d'envoi de données

rubiks10

Membre Club
Salut bon moi j'ai tester tout ton code

et tout marche correctement.... meme sans l'alerte... cependant laisse tout le contenu de ton fichier html pour voir également la ou cela pourait coincer...

mais bon jpense que c'est ton serveur php qui bug car moi tout marche nikel

par contre aussi.... change le "<?" d'entrée du fichier php par "<?php" mais pour le reste... tout est bon

aussi sur quel navigateur tu testes???

--The Rubik's Man--
vendredi 13 octobre 2006 à 09:24:55 | Re : Problème d'envoi de données

couicoui

Ok merci, je vais tester avec le <?php dans la journée.

Pour les navigateurs, je teste sous firefox 2.0, Opera 9.02 et IE 6.

Je vais voir de récupérer un autre serveur (là je suis sous easyphp).

Merci,



1 2

Cette discussion est classée dans : doc, alert, document, value, getelementbyid


Répondre à ce message

Sujets en rapport avec ce message

Calcul [ par dity ] DiTy AkA B@d Boµ Bonjour, je suis bloqué devant un travail... Je doit faire un calculateur en javascript, une page html & un fichier js pour exécute tester champ formulaire [ par gabs77 ] j'ai fait un formulaire pour tester les champs mais il ne fonctionne que sur le champ statut et sur le champ degre de couleur je ne parviens pas a le probleme controle de saisie avec du javascript dans un formulaire html.php [ par suethi75 ] BonjourJe controle les champs obligatoires dans mon formulaire cependant cela ne marche pas.Voici mon code javascript: function verifForm(){  if (docu récuperer données table [ par anasjava ] Je suis débutant en java  et  j'ai  un petit souci, je remli une table par des donnée envois de formulaire ajax [ par Annadrill ] bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa Champ inactif [ par nicoferra ] Bonjour,je chercher à rendre un champ inactif (initial_compo2) mais cela ne fonctionne pas.Merciwindow.onload=function desactive(){document.getElement Problème de script faisant ralentir ie [ par gregusse ] Bonjour ! J'ai un problème sur un script que j'ai codé. J'ai le message de IE "un script fait ralentir internet explorer ...". Apparemment c'est à ca Procédure qui ne veut pas s'exécuter. Pourquoi ? [ par jytest ] Bonjour, voici mon souci. Ma boucle ne s'effectue pas du tout, ni à l'intérieur, ni en sortie de boucle de test (voir le code plus loin) Bizarre. Pou Remplir plusieurs cases d'un formulaire avec le resultat d'une selection provenant d'une popup [ par patingfree ] Bonjour à tous, Je dispose d'un formulaire avec 3 champs textes que je desire remplir automatiquement après la selection d'une ligne d'enregistrement objet requis [ par wallysub ] Bonjour, j'ai un code que j'ai optimisé qui me met une erreur dans la boucle, alors que la boucle fonctionne tout de même, mais empeche la suite du co


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 11,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales