IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Envoie qu'une seule fois d'une requête [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut Envoie qu'une seule fois d'une requête
    Bonjour à tous,

    Je débute en Ajax et j'ai trop de problème c'est la misère au début. Mais je m'accroche et aujourd'hui j'ai besoin de votre aide.

    Je vous explique, j'ai un formulaire qui ajoute des enregistrements dans une table mais là n'est pas le problème j'utilise Prototype.

    Et j'insere dans la table que une fois que j'ai cliqué sur mon boutton mais cela ne marche qu'une fois. Je ne peux pas insérer plusieurs fois alors que ma table et faites pour.

    Mon javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <!--Fichier configuration AJAX-->
     
    <script type="text/javascript" src="prototype.js"></script>
    <script type="text/javascript">
    function SendForm(){
     
    	 new Ajax.Request('add.php?idform=9',{
    		 method: 'post',
    		 asynchronous: true,
    		 contentType: 'application/x-www-form-urlencoded',
    		 encoding: 'UTF-8',
    		 parameters: { valuCara : $F('valuCara')},
    		 onSuccess: function(){MailOK();},
    		 onFailure: function(){}
    	 });
     
    	 function MailOK(){
    		 $('textOK').style.visibility = 'visible';
    		 $('textOK').style.display = 'block';
    	 }
     } 
    </script>
    Mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <form method="POST" name="FormCara">
    <table>
    <tr>
    	<td>Valeur caract&eacute;ristique : </td>
    	<td>
    		<TEXTAREA rows="4" name="valuCara" id="valuCara"></TEXTAREA>
    	</td>
    </tr>
    <tr>
    	<td></td>
    	<td><input type="button" value="Enregistrer caract&eacute;ristique" name="GoCara" id="GoCara" onclick="javascript:SendForm()"></td>
    </tr>
    </table>
    </form>
     
    <div id="textOK" style="visibility: hidden; display: none">
    </div>
    Si vous pouviez m'expliquer comment marche les requêtes multiple en cliquant plusieur fois sur le boutton car là une fois une seule enregistrement mis on peut plus rien touché


    Merci a vous

  2. #2
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    A priori, ca a l'air bon, ya pas de raison que ca marche pas...

    Quand tu dis que ca ne marche pas, il se passe quoi? (ou plutot il ne se passe pas quoi?)

    Essaie d'utiliser firebug pour voir si tes requetes passent bien, quels sont les réponses que tu récupères, etc...

  3. #3
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut
    Bonjour DoubleU merci de ta réponse,

    Alorsj'ai plus de précision maintenant que tu m'a confirmé que cela passait, j'ai fait un alrt dans le onSuccess et cela m'affichait l'alert. J'ai pas encore les bonnes habitudes de déboguage en Javascript désolé. Mais apparemment le problème viens de javascript et de ma liste déroulante que j'ai enlever dans le code du haut pour que cela moins compliqué car je pensait que cela venait de la requête asynchrone en elle-même.

    Alors je vais mettre mon formulaire avec la liste déroulante ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <form method="POST" name="FormCara">
    <table>
    <tr>
    	<td>Choisir: </td>
    	<td>
    	<input type="hidden" value="1" name="idProd" id="idProd">
    		<SELECT name="cara" id="cara">
    			<OPTION value"1">test 1 </OPTION>
                           <OPTION value"2">test 2 </OPTION>
    	</SELECT>
    	</td>
    </tr>
    <tr>
    	<td>Valeur caract&eacute;ristique : </td>
    	<td>
    		<TEXTAREA rows="4" name="valuCara" id="valuCara"></TEXTAREA>
    	</td>
    </tr>
    <tr>
    	<td></td>
    	<td><input type="button" value="Enregistrer caract&eacute;ristique" name="GoCara" id="GoCara" onclick="javascript:SendForm()"></td>
    </tr>
    </table>
    </form>
    Le problème mon code javascript prend toujours la valeur 1 même quand je change...
    mon code ajax avec la valeur cara:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <script type="text/javascript" src="prototype.js"></script>
    <script type="text/javascript">
    function SendForm(){
     
    	 new Ajax.Request('add.php?idform=9',{
    		 method: 'post',
    		 asynchronous: true,
    		 contentType: 'application/x-www-form-urlencoded',
    		 encoding: 'UTF-8',
    		 parameters: { valuCara : $F('valuCara'),cara: $F('cara')},
    		 onSuccess: function(){MailOK();},
    		 onFailure: function(){}
    	 });
     
    	 function MailOK(){
    		 $('textOK').style.visibility = 'visible';
    		 $('textOK').style.display = 'block';
    		 alert("test");
    	 }
     } 
    </script>
    Merci de ton aide DoubleU j'espère que je t'ai donné assez d'informations.
    Sinon au pire redemande moi

    Bonne journée a tous

    PS: Je ne peux pas installer Firebug car ma version de firefox n'est pas compatible j'ai la version 3Beta5

  4. #4
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Euh, dans ton javascript, tu ne fais rien non plus pour que ton select change ^^

    PS: pour FF3, tu peux utiliser les versions alphas de firebug, elles sont compatibles

  5. #5
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut
    Ah mais je dois mettre quelque chose dans mon javascript qui détecte quand je change d'option ?

    Erf je ne sais pas faire tu a le nom d'une fonction sous la main ?
    Je dois mettre cela avant d'envoyer ma requête ? (aie aie aie)

    Merci pour la version alphas

    Si tu a une idée de comment faire avec mon fichu select. J'apprend javascript je suis désolé de vous déranger pour cela.

    Merci doubleU

  6. #6
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Tu cherche a faire quoi exactement avec ton select et tes requêtes?

  7. #7
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut
    Re,

    Alors ce que je souhaite, c'est choisir une valeur dans mon SELECT et la valeur de mon TEXTAREA et les insérer dans une table mais sans recharger la page. Mon code PHP marche correctement mais apparemment la valeur du SELECT même la première fois reste toujours à 1... Je récupère mal la valeur de mon SELECT ?

  8. #8
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Ok, j'avais pas compris ce que tu voulais faire ^^

    Essaie de mettre ton "idform=9" dans les paramètres, et pas dans l'url, ca pose peut être problème à Prototype de lui donner des paramètres a 2 endroits.

    Sinon, dans firebug, quand tu regardes passer ta requete, tu vois quoi comme paramètres?

  9. #9
    Membre actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Points : 228
    Points
    228
    Par défaut
    Bon tu pourra me mettre la fessé DoubleU car c'est la première fois que j'utilsie firebug est l'erreur mais apparu clairement.

    Merci de ton aide

    PS: Cela venait du code PHP car j'était en mode debuguage et une variable était changer entre temps est restait donc toujours à 1.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/03/2010, 10h35
  2. [MySQL] Ouvrir puis fermer plusieurs fois une connexion ou qu'une seule fois ?
    Par tadaa9 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/08/2009, 18h07
  3. DBLink utilisable une seule fois dans une session donnée
    Par thatsallfunk dans le forum Administration
    Réponses: 1
    Dernier message: 22/05/2009, 11h01
  4. Réponses: 2
    Dernier message: 22/07/2008, 17h16
  5. Réponses: 2
    Dernier message: 10/07/2007, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo