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

JavaScript Discussion :

[AJAX] Récuper valeur table et le passer en parametre url


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut [AJAX] Récuper valeur table et le passer en parametre url
    Bonjour a tous.

    Voila je suis confronté a un problème en Javascript que je n'arrive pas a résoudre.. donc je me demandais si il était possible de le faire en AJAX ?

    j'entends beaucoup de bien sur Ajax mais jamais utilisé... peut etre pour ceci

    je vous explique :

    Je crée une tableau dynamiquement avec une requete SQL qui me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for ($numero = 1; $numero<$nbrentree+1; $numero++)
            {
            $donnees = mysql_fetch_array($reponse);
            echo '<tr class="zone"  onClick="Confirmer()">
                    <td>' . $numero . ' <input name="idsales" value="'. $donnees['Id_sales'] .'"/></td>                  
                    <td>' . $donnees['Last_name'] . '</td>
                    <td>' . $donnees['First_name'] . '</td>
                    <td>' . $donnees['Practice'] . '</td>
     
                  </tr>';
            }
            echo'</tbody>
              </table>';
    mes valeurs de l'input sont bien générées : Id_sales corespond bien au nom et prenom dans la bdd.

    ensuite ma fonction Confirmer est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Confirmer()
    {
        var answer = confirm("Do you want to delete this sales ?")
        if (answer)
        {
            window.location.href = "index.php?page=P_Deletesales&del=yes&id="+document.getElementById('idsales').value;
        }
        else
        {   
        }                           
    }
    je voudrais récupérer ma valeur idsales et la mettre dans ma barre d'adresse mais apparemment il reprend toujours le 1er idsales de la 1er ligne générée.

    Es-ce que cela est possible en AJAX et si oui comment ?

    merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    apparemment il reprend toujours le 1er idsales de la 1er ligne
    Cela signifie-t-il que ton id n'est pas unique sur ta page ?

  3. #3
    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
    Le problème c'est que ta boucle créée n inputs ayant tous le même name, mais pas d'id pour les identifier indépendamment les uns des autres.

    Donc quand tu fais document.getElementById('idsales'), tu choppes toujours le premier puisque tous on le même nom (en supposant que le getElementById aille chercher sur le name oO, mais je vois pas comment autrement il pourrait te retourner quelque chose).

    Essaie comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            echo '<tr class="zone"  onClick="Confirmer('\' .$donnees["Id_sales"] .' \')">
                    <td>' . $numero . ' <input name="idsales" id="' . $donnees["Id_sales"] . '" value="'. $donnees['Id_sales'] .'"/></td>                  
                    <td>' . $donnees['Last_name'] . '</td>
                    <td>' . $donnees['First_name'] . '</td>
                    <td>' . $donnees['Practice'] . '</td>
     
                  </tr>';
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Confirmer(id)
    {
        var answer = confirm("Do you want to delete this sales ?")
        if (answer)
        {
            window.location.href = "index.php?page=P_Deletesales&del=yes&id="+document.getElementById(id).value;
        }
        else
        {   
        }                           
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    Oui tout a fait mon id est unique.

    par contre il me marque une erreur avec ta solution :

    Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\Program Files\EasyPHP 2.0b1\www\SellMate\Sales\deletesales.php on line 139

    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\Program Files\EasyPHP 2.0b1\www\SellMate\Sales\deletesales.php on line 139
    je regarde aussi de mon coté pour la résoudre...mais je suis pas doué ^^

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    j'ai ajouter des guillemets maintenant je n'ai plus d'erreur mais le script ne fonction pas (icone en bas a droite de IE avec un panneau jaune)

    echo '<tr class="zone" onClick="Confirmer("\"' .$donnees["Id_sales"] . '" \")">
    <td>' . $numero . ' <input name="idsales" id="' . $donnees["Id_sales"] . '" value="'. $donnees['Id_sales'] .'"/></td>
    <td>' . $donnees['Last_name'] . '</td>
    <td>' . $donnees['First_name'] . '</td>
    <td>' . $donnees['Practice'] . '</td>

    </tr>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function Confirmer()
    {
    	var answer = confirm("Do you want to delete this sales ?")
    	if (answer)
    	{
    		window.location.href = "index.php?page=P_Deletesales&del=yes&id="+document.getElementById(id).value;
    	}
    	else
    	{	
    	}							
    }

  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
    C'est ptete encore un problème de guillemets, je me suis pas trop préoccupé de la syntaxe dans le code que je t'ai donné.

    Dans le code source de ta page, il faut que tu aies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick=Confirmer('tonIdAvecDesGuillemetsAutour')
    et dans ton input
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id='tonIdAvecDesGuillemetsAutour'.
    Bref, il faut que le compilateur considère les 2 comme des string entourées de quotes/guillemet, comme tu veux.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    voici ce que j'obtiens après plusieurs test :p

    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
    <tr class="zone"  onClick="Confirmer("123")">
    				<td>1 <input name="idsales" id="123" value="123"/></td>            
                    <td>ff</td>
                    <td>rudy</td>
                    <td></td>
     
                  </tr><tr class="zone"  onClick="Confirmer("122")">
    				<td>2 <input name="idsales" id="122" value="122"/></td>            
                    <td>rrr</td>
                    <td>robert</td>
                    <td></td>
     
                  </tr><tr class="zone"  onClick="Confirmer("121")">
    				<td>3 <input name="idsales" id="121" value="121"/></td>            
                    <td>rrr</td>
                    <td>roger</td>
                    <td></td>
    voici ce que j'ai mis comme code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<tr class="zone"  onClick="Confirmer("' .$donnees["Id_sales"] .'")">
    				<td>' . $numero . ' <input name="idsales" id="' . $donnees["Id_sales"] . '" value="'. $donnees['Id_sales'] .'"/></td>
    par contre il me met une erreur javascript et ne me lance pas la fonction.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<tr class="zone"  onClick="Confirmer(\'' .$donnees["Id_sales"] .'\')">
    Devrait être mieux je pense...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    ca marche.

    j'ai un peu tout modifier mais bon ca marche c'est le principal

    Merci a vous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2010, 10h04
  2. Réponses: 6
    Dernier message: 17/09/2009, 12h58
  3. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  4. Réponses: 12
    Dernier message: 22/01/2006, 18h01
  5. [JSP] passer en parametre valeur d un bouton radio
    Par logica dans le forum Servlets/JSP
    Réponses: 19
    Dernier message: 13/05/2005, 14h09

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