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 :

document.write et texte d'option


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Par défaut document.write et texte d'option
    Bonjour,

    j'ai un petit souci de javascript... J'ai fait une fonction qui contient le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var room_max = 5;
    val2.options[0].value = room_max;
    val2.options[0].text = document.write(room_max);
    Le pb c'est que quand le select est sélectionné j'ai une nouvelle page avec le chiffre 5 qui s'affiche ??

    Si quelqu'un avait une idée ça serait top !!

    Merci de votre aide

  2. #2
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Ne devrais-tu pas faire tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var room_max = 5;
    val2.options[0].value = room_max;
    val2.options[0].text = room_max;
    ?
    Fred

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Par défaut
    J'ai testé mais mon menu m'affiche "room_max"

  4. #4
    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
    Billets dans le blog
    20
    Par défaut
    Le pb c'est que quand le select est sélectionné j'ai une nouvelle page avec le chiffre 5 qui s'affiche ??
    C'est le comportement normal de document.write
    Elle intègre du contenu lors de la formation du DOM, une fois celui-ci complètement formé (la page chargée), elle crée un nouveau document

    J'ai testé mais mon menu m'affiche "room_max"
    Fais voir ton code
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    sans les quotes ... ?

    pour ce qui est du comportement de document.write :
    http://www.developpez.net/forums/d79...html-interdit/
    De plus je ne suis pas sur que .texte soit crossbrowser ... ?
    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 !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Par défaut
    Voici mon code :

    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
    var value_type_full = 8;
    var room_max = 5;
     
    function def_room(val1,val2) {
    var price_selected;
    price_selected = val1.options[val1.selectedIndex].value;
    if (price_selected==value_type_full) {
    val2.options.length = 1;
    val2.options[0].value = value_type_full;
    val2.options[0].text = document.write(room_max);
    val2.options.selectedIndex = 0;}
    else {
    val2.options.length = 3;
    for (i=1; i<=3; i++){
    val2.options[i-1].value = i;
    val2.options[i-1].text = document.write(i);
    }
    val2.options.selectedIndex = 0;
    }
    }
    je pourrais utiliser innerHTML car là ça fonctionne mais ... une autre solution serait peut-être plus DOM friendly ?

    Merci pour votre aide

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    document.write() ne retourne pas une valeur, mais écrit sur le... document

    Pour ce que tu veux faire, regarde plutôt par les .toString() ou les parseInt(), ou bien '' + valeur; (Les deux apostrophes forcent alors l'opérateur '+' à agir en concaténation).
    Ou encore un new String(valeur)

    Bref, document.write() ne remplace pas un <?php echo... ?>

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Par défaut
    Euh pour le document.write autant pour moi un instant de folie suite à l'abus effectivement de echo();

    Sinon l'utilisation de la concaténation ça marche ''+ valeur;

    Merci !

  9. #9
    Expert éminent

    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
    Par défaut
    Citation Envoyé par user-demo Voir le message
    une autre solution serait peut-être plus DOM friendly ?
    Oui.

    A+

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Certain navigateur ne supporte pas text avec options.
    val2.options[0].text
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    val2.options[0].firstChild.nodeValue;

Discussions similaires

  1. comment modifier le texte dans une commande document.write
    Par riquet90 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2010, 08h48
  2. pb de " et ' dans document.write
    Par R@IZER dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 09/11/2005, 13h58
  3. récupération texte entre <option> et </option>
    Par Trunks dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/09/2005, 14h19
  4. plusieurs document.write dans une meme page
    Par Loko dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/07/2005, 17h16
  5. document.write sur un target _blank
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2005, 12h32

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