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] compatibilité liste déroulante liée avec Internet Explorer IE


Sujet :

JavaScript

  1. #21
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Gros caca...
    Par contre il me fait un gros caca au remplissage du formulaire : Il m'affiche la liste déroulante des pays en haut à gauche de la page et le formulaire en dessous.

    Quand je valide le formulaire je rééxécute "formulaire.php". Pour le traitement des données et pour le réaffichage du formulaire s'il y a un problème.

    Du coup je pense qu'il me rééxécute "lister_ville.php" car ($_POST["id_pays"]) existe (c'est la condition au début du fichier)

    Il faudrait modifier la condition.... Peut-être en faisant un unset de la variable... Qu'est ce que je peux faire ?

  2. #22
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Au fait :
    Citation Envoyé par DoubleU Voir le message
    euh... et alors? ^^
    Alors eval() est déconseillé aussi.

    Donc, laisser tomber innerHTML pour une solution "propre" (DOM , en clair) OK.
    Mais si c'est pour utiliser eval() à la place,

    A+

  3. #23
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut DOM ?
    Oui mais DOM je sais pô le faire...

  4. #24
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par pasc06 Voir le message
    Par contre il me fait un gros caca au remplissage du formulaire : Il m'affiche la liste déroulante des pays en haut à gauche de la page et le formulaire en dessous.
    C'est que ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php lister('pays','nom_pays');?>
    doit générer un select en position:absolute. A modifier pour qu'il soit intégré au td.
    Ca devait être le cas avant, car aucune des modif faites depuis ne justifie ce changement.

    Citation Envoyé par pasc06 Voir le message
    Oui mais DOM je sais pô le faire...
    C'était une réponse (tardive) à DoubleU, et pas une une suggestion qui t'était destinée

    A+

  5. #25
    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
    Citation Envoyé par E.Bzz Voir le message
    Au fait :
    Alors eval() est déconseillé aussi.

    Donc, laisser tomber innerHTML pour une solution "propre" (DOM , en clair) OK.
    Mais si c'est pour utiliser eval() à la place,

    A+
    Tiens donc :O

    Faut pas tout confondre, eval est déconseillé pour raison de sécurité (ex: ne pas évaluer du code provenant d'une souce inconnue), ou pour raison de performance (mais de toute façon, evaluer du code est toujours causé par soit une méconnaissance du langage, soit une erreur de programmation).

    La fonction eval utilisée dans le cas d'une réponse JSON est tout a fait adaptée. D'ailleurs, comment tu voudrais utiliser JSON sans eval pour récupérer un objet javascript à partir d'une chaine de texte?

  6. #26
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    (mais de toute façon, evaluer du code est toujours causé par soit une méconnaissance du langage, soit une erreur de programmation).
    Exactement, donc autant gérer ça en amont ...
    La fonction eval utilisée dans le cas d'une réponse JSON est tout a fait adaptée.
    C'est un avis
    D'ailleurs, comment tu voudrais utiliser JSON sans eval pour récupérer un objet javascript à partir d'une chaine de texte?
    Je ne "voudrais pas" : je n'utilise pas
    Il y a toujours moyen de faire autrement, ne serait-ce que transmettre les données dans la chaîne de manière structurée pour ensuite les retraiter en JS de manière standard ...

    A+

  7. #27
    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
    Citation Envoyé par E.Bzz
    Je ne "voudrais pas" : je n'utilise pas
    Il y a toujours moyen de faire autrement, ne serait-ce que transmettre les données dans la chaîne de manière structurée pour ensuite les retraiter en JS de manière standard ...
    Euh... ouais c'est sur pourquoi faire simple quand on peut faire compliqué oO

    Quand t'as deux valeurs à passer, à la limite je peux comprendre (en fait nan, mais bon, admettons), mais des que t'as des choses plus complexes à passer (genre des objets imbriqués), pourquoi ne pas utiliser json?

    En fait, c'est surtout ca la question: qu'est-ce qui peut justifier d'utiliser ta manière?

  8. #28
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Du calme !
    On peut pas vous laisser seuls vous faites des bêtises !

    Dans mon fichier "formulaire.php" j'avais mis au début un
    require_once 'lister_villes.php'. Donc il l'éxécutait après remplissage du formulaire et validation car la condition "if(isset($_POST["id_pays"]))" était remplie.

    J'ai supprimé "le require_once 'lister_villes.php'" et tout est rentré dans l'ordre !

    Merci encore !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Listes déroulantes liées avec Ajax
    Par ghizlane_dev dans le forum AJAX
    Réponses: 12
    Dernier message: 31/12/2016, 13h05
  2. [12] [?] 2 Listes déroulantes liées avec utilisation de paramètres
    Par johannT dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/04/2008, 15h45
  3. Gestion de 5 listes déroulantes liées avec paramètres SQL
    Par kenshir0 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/04/2007, 18h46
  4. [AJAX] Listes déroulantes liées avec Ajax
    Par paupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 16h51
  5. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04

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