begin process at 2012 05 29 03:20:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Envois formulaire en Ajax


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

Envois formulaire en Ajax

samedi 25 octobre 2008 à 11:37:50 | Envois formulaire en Ajax

davidcian

Bonjour,

J'ai trouvé un code qui correspond pas mal a ce que je veux faire mais j'ai un soucis d'adaptation...

page html:

<form  name="mon_profile" onsubmit="return false;" >
  <input type="text" id="test1" name="test1" value="test1"/>
  <input type="test" id="test2" name="test2" value="test2"/>
  <input onclick="request('./pages/maj_profile.php', this.form)" id="bouton" name="ok" type="button" value="OK" style="width:80px;" />
</form>


En faite this.form j'éssais d'envoyer le contenus de chaque champ sauf que je suis sur que c'est pas comme ca!

fonction javascript:

function request(url, form)  {
    var req = null; //défini l'objet req de façon globale, pour qu'il soit reconnu dans tout le script
        req = new XMLHttpRequest();
    req.onreadystatechange = testRep; // ici on attribue la fonction à req.onreadystatechange, mais on ne l'exécute pas encore, donc ne pas mettre les ()
    req.open("POST", url, true);
    req.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // je sais pas ce que ça veut dire mais c'est INDISPENSABLE pour transmettre des données au script php
    data = "id="+form;
    req.send(data);
   
    function testRep() {   // cette fonction va lancer l'affichage des données reçues, une fois que la requête sera "complete" (readyState=4)
        if (req.readyState == 4) {
            if (req.status == 200) {
                document.open();  //ceci ouvre un nouveau flux qui va permettre l'exécution des commandes qui suivent (ici document.write) s'exécute simultanément
                document.write(req.responseText); // responseText contient la chaîne de caractères transmise par echo dans le script php
                document.close(); // ceci ferme le flux et lance l'exécutions des commandes qui precèdent
            }
            else {
                alert("Problem: " + req.statusText);
            }
        }
    }
}


Fichier maj_profile.php:

<?PHP
include("./../config.php");
  @mysql_connect($sql_serveur, $sql_login, $sql_password) or die("Connection interrompue");
  @mysql_select_db($sql_base);
 
  $id = $_POST['id_user'];
  $style = $_POST['style'];
  $langue = $_POST['langue'];
  $user = $_POST['user'];
 
  // Update ds données GPS du joueur.
  $sql = "UPDATE membres SET login='$user', langue='$langue', style='$style' WHERE id='$id' ";
  mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
  echo $sql;
 
  mysql_close();
  //si on veut afficher un resultat :
  //echo 'Update : '.$result_update_1;
?>


Bon au final y rien qui marche mais ca ne me surpend pas!

Az
samedi 25 octobre 2008 à 12:00:39 | Re : Envois formulaire en Ajax

bultez

Membre Club
bonjour,

1° que tentes-tu donc d'envoyer au php ?
    data = "id="+form;
    req.send(data);
fait donc un alert de data...  pour voir !
( c'est une chaîne de caractères qu'on doit envoyer )

( et perso, j'évite les noms de variables ressemblant à des noms de balises
  ou autres, connus du html/javascript... un jour ou l'autre ça
  te posera des problèmes )

2° tu fais un document.write, or la page ayant été totalement interprétée,
    ça efface toute la page, y compris le javascript !

3° pas été plus loin pour l'instant, pas regardé si tu avais d'autres erreurs...

Cordialement

          Bul [mon Site] [M'écrire]          

samedi 25 octobre 2008 à 13:39:13 | Re : Envois formulaire en Ajax

davidcian

Merci de ta réponse j'ai un peu avancé mais je reste bloqué sur un point important...

function valide(url, form)  {
    var req = null;
        req = new XMLHttpRequest();
    req.onreadystatechange = testRep;
    req.open("POST", url, true);
    req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    data = "id="+ form
    alert(data);

}


retour:

id=[object HTMLFormElement]

Donc ça marche bien, je souhaite transmettre la totalité de mon formulaire vers la page maj_profile.php et une sur le le fichier récupere la valeur des champs. Mais je sais pas comment faire...
samedi 25 octobre 2008 à 13:43:44 | Re : Envois formulaire en Ajax

bultez

Membre Club

faut en dire plus ?

coté php :

  $id = $_POST['id_user'];
  $style = $_POST['style'];
  $langue = $_POST['langue'];
  $user = $_POST['user'];

"normalement" ça correspond à quoi ces $_POST ?
         aux name des champs du formulaire....
et dans ton formulaire, tu n'as que 2 champs : test1 et test2....
tu ne peux donc qu'utiliser $_POST['test1'] et $_POST['test2']

          Bul [mon Site] [M'écrire]         

samedi 25 octobre 2008 à 13:48:14 | Re : Envois formulaire en Ajax

bultez

Membre Club
on s'est croisé !
>>id=[object HTMLFormElement]
>>Donc ça marche bien
ah ben non ! justement ! ça marche pas du tout !
comment tu récupères ça coté php ?

j'insiste ? ce qu'on transmet doit être une chaine de caractères !!!!!
dans ton cas, par exemple :
data="test1="+document.mon_profile.test1.value+"?test2="+document.mon_profile.test1.value;
et coté php comme indiqué au message précédent...

          Bul [mon Site] [M'écrire]          

samedi 25 octobre 2008 à 13:51:41 | Re : Envois formulaire en Ajax

bultez

Membre Club
et... ne pas faire de document.write !
          Bul [mon Site] [M'écrire]         

samedi 25 octobre 2008 à 13:58:54 | Re : Envois formulaire en Ajax

davidcian

Si je fais ca:

    data = "id="+ ( document.getElementById("style").value );
     alert(data);

réponse: id=test

Mais le problème c'est que voudrais que cette fonction marche pour plusieurs formulaires donc id des champs et nombre de champs différent.

Peu être a l'aide d'une boucle... Mais sur quoi la baser...

J'ai enlevé le document.wirte

Az


samedi 25 octobre 2008 à 14:06:45 | Re : Envois formulaire en Ajax

bultez

Membre Club

>>e problème c'est que voudrais que cette fonction marche pour plusieurs formulaires
>>donc id des champs et nombre de champs différent.
il te reste à construire une ch'tiote fonction qui regarde tous les champs
   du formulaire et le transforme en  :
   name ou id_champ1=value_champ1&name ou id _champ2=value_champ2&name ou id _champ3=value_champ3.....
c'est assez simple à faire.
sinon regarde ce qu'on nomme framework, ils ont tous,
ou alors... utilise en un....

Cordialement

          Bul [mon Site] [M'écrire]         

samedi 25 octobre 2008 à 14:35:51 | Re : Envois formulaire en Ajax

davidcian

>>"il te reste à construire une ch'tiote fonction qui regarde tous les champs
   du formulaire et le transforme en  :
   name ou id_champ1=value_champ1&name ou id _champ2=value_champ2&name ou id _champ3=value_champ3.....
c'est assez simple à faire."

Je suis assez chaud pour la fonction pourrais me donner un exemple?

Merci d'avance

Az


samedi 25 octobre 2008 à 14:49:02 | Re : Envois formulaire en Ajax

bultez

Membre Club

les billes :

    document.name_du_formulaire.elements.length c'est le nombre de champs dans le formulaire
    document.name_du_formulaire.elements[index].name ou .id ou .value ou...
                          c'est le name, l'id, le value ou... du champ étudié
                          index variant de 0 à length-1

    tu concatènes ( dans un for ? ) avec les bons champs à ta variable data
                     initialisée à ""  et basta

          Bul [mon Site] [M'écrire]         


1 2

Cette discussion est classée dans : form, php, req, sql, id


Répondre à ce message

Sujets en rapport avec ce message

Recuperer le SId avec javascript [ par nikos283 ] SalutJ'ai une petit proble, voila j'ai une page php qui crée une session et j'aimerai avec javascript recupérer le nom et valeur de cette session. pou Form et javascript [ par rems02 ] Bonjour,Sur une page php j'ai un Form qui envoi une valeurselon le bouton appuyé (sur 4 disponibles au format image)ver une autre page php.Mais j'ai r form et action [ par the_true_ramon ] bonjour tous le gens qui essaie de programmer , pour ma part j'essaie de faire de mon mieux meme si j'aime pas le php..... soit je m'égars du sujet php+javascript+html+my_sql [ par la pince ] la pince Explication rapide : J'ai débarqué en programmation ça fait 3 semaines, et comme j'apprend vite ;) j'ai appris les bases de HTML, SQL, PHP, e Php + js ==> select + onchange( ) + POST ==> niveau debutant++ [ par zeguizmo ] Salut tout le monde, J'ai un petit probleme de javascript dans mon code en php. J'utilise un bouton select : <option V Erreur?? [ par jnbrunet ] Salut, je ne programme partiquement pas language client, j'ai donc besoin de votre aide... voici mon code, il est erroné, mais je ne trouve pas son er Appel séquentiel à des lignes PHP/MySQL [ par chrossat ] Bonjour,Dans mes sites, je travaille avec PHP/MySQL. J'ai une page index appelant différents contenus (index.php?page=accueil par exemple).Toutes mes création d'un imput text générer par un select dynamique (PHP+SQL) dans un formulaire [ par Ullir ] J'ai de gros problemes de surchauffe de matiere grise !!! Débutant en code PHP, je mélange quelques codes ( html - javascript - php - sql création d'un imput text générer par un select dynamique (PHP+SQL) dans un formulaire [ par Ullir ] J'ai de gros problemes de surchauffe de matiere grise !!! Débutant dans les langages informatiques, je mélange quelques codes ( html - javasc Comment récupéré l'id (ou etiquette) d'une liste déroulante ? [ par converse ] Bonjour à tous,Je gallère un peu depuis hier. Je vais tenter d'expliquer simplement ma question.Je souhaite envoyer via une liste déroulante dans un f


Nos sponsors


Sondage...

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 : 1,030 sec (3)

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