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 :

savoir quels champs d'un tableau ont été modifiés


Sujet :

JavaScript

  1. #1
    pek
    pek est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut savoir quels champs d'un tableau ont été modifiés
    Bonjour,

    Dans une application web php, j'affiche le contenu d'une base de données dans un tableau. Certains champs sont modifiables, ce sont les inputs d'un formulaire.

    J'aurais voulu qu'au moment du submit, mon serveur php sache quels enregistrements de ma bd il doit modifier. J'ai pensé à créer une variable cachée du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='hidden' name='modify_a[]'>
    qui contiendrait la liste des lignes dont des champs ont été modifiés.
    Chaque champs modifiable serait donc de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' name='toto_01' onChange='update(this.form,01)'>
    Mais ma fonction javascript update() n'arrive pas à accéder au champ caché. Sous IE, dans ma fonction update(formulaire, id),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaire.modify_a[].value
    me donne
    Erreur : 'modify_a.value' a la valuer NULL ou n'est pas un objet

    Je fais peut être fausse route, auquel cas que devrais-je plutôt faire pour gérer mon problème ?
    sinon, où ais-je fait une erreur ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.Elements['modify_a\[\]'].value
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    pek
    pek est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    En nommant mon form (name='formulaire') :
    Erreur : 'document.formulaire.Elements.modify_a[]' a la valeur NULL ou n'est pas un objet

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    change de name ou colle lui un id ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    pek
    pek est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par SpaceFrog
    change de name ou colle lui un id ...
    tu parles bien du formulaire, là ?
    (si c'est le cas ça ne change pas grand chose)


    mais j'aimerais comprendre ce que je fais :
    pour quoi faire appel à document.formulaire alors que ma fonction récupère le formulaire en paramètre ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    non je parle du nom de l'input !

    je passais outre le paramètre formulaire passé dans la focntion pour voir justement si le problème ne venais pas du paramètre lui même ... en l'occurence le problème vient du name de l'input avec les crochets ...

    alors mets un id en plus à ton objet et recupére le avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('idinput')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    pek
    pek est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ha, mais bien sûr...

    oui ça marche, je peux y accèder, là.
    par contre, comment ajouter des valeurs à ce tableau ? En fait ma variable ne se comporte pas comme un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('idinput').concat('toto')
    n'ajoute rien du tout
    .push() n'existe pas.
    J'ai tenté un "+=", ma variable se comportait alors comme une string, avec toutes les valeurs ajoutées concaténées

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    je crois que je vois ou tu veux en venir...


    ajoute les valeurs dans l'inout hidden en intercallant un séparateur...

    puis recupère la value et fait un split sur le séparateur, tu ne paux pas passer un tableau comme ça ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    pek
    pek est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ok, effectivement à partir de là, il ne devrait plus y avoir de problèmes.

    J'avais envie d'utiliser un tableau parceque c'est comme ça que je fais pour récupérer les cases cochées d'une suite de checkboxes, je pensais pouvoir faire la même chose ici.

    Mais merci bien maintenant je peux me débrouiller comme un grand

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    cela doit être faisable mais il faudra au lieu d'ajouter la valeur dans le même input, créer un input dynamiquement avec le même name et y mettre la valeur
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Savoir quels champs sont obligatoires
    Par traceur_70 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 10/11/2011, 10h48
  2. [PHP-JS] Comment savoir quel champ n'est pas rempli ?
    Par illight dans le forum Langage
    Réponses: 8
    Dernier message: 28/03/2007, 15h03
  3. [MySQL] quel type de champ pour un tableau serializé
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2006, 14h37
  4. Réponses: 1
    Dernier message: 20/03/2006, 13h30

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