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 :

input portant le même nom


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut input portant le même nom
    bonjour,

    j'ai mis en place un script qui me permet de controler la syntaxe d'une date. Voici l'appelant :

    function checkform()
    {
    var date_naissance_enfant= document.form1.input_date_naissance_enfant.value;

    if (checkdate(date_naissance_enfant)==false)
    {
    alert("Erreur de date de naissance : veuillez la taper sous une forme correcte");
    return false;
    }

    return true;
    }

    //-->
    </script>



    Mon formulaire a pour objectif d'inséré les enfants des employés. Donc, si j'entre 2 enfants, je me retrouve avec deux "input date_naissance_enfant" portant le même nom mais ayant des valeurs différentes. Hors c'est à ce niveau que javascript bloque, quand je fait un affichage de "date_naissance_enfant", le résultat devient "undifined". Ceci est du au fait que j'ai plusieurs input portant le même nom.

    Pourriez vous m'aidez

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Le mieux est de recourir au DOM. Ce n'est pas grave que des input portent le même nom. Si tu en a deux (ou plus) sur ta page portant le même nom tu peux les récupérer comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //retourne une collection
    mesInput = document.getElementsByTagName('input');
     
    var1 = mesInput[0].value; // valeur du premier input
    var2 = mesInput[1].value; // valeur du deuxième
    // ...etc
    Guy777

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Lut

    alors, pour des raisons de traitement, si tu as plusieurs inputs qui se nomment pareil, tu devrait faire finir leur nom par [] (comme ça tu récupèreras le resultat sous forme de tableau)

    ensuite, utilise plutôt cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName('{LE_NAME}')
    {LE_NAME} est à remplacer par le nom de tes inputs...

    ceci te renvoie un tableau contenant tous les inputs qui ont ce name, tu n'as ensuite plus qu'à parcourir le tableau...

    de plus, garde à l'esprit qu'il te faudra tout de même revalider tes données côté serveur, le JS est trop facilement contournable
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 39
    Points : 23
    Points
    23
    Par défaut
    merci beaucoup pour vos réponses

    En fait je dois développer cette appli pour les RH, donc je pense qu'ils n'iront pas détourner le javascript

    Par contre, si le javascript est si détournable, pourquoi l'utiliser de nos jours?

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Normalement, le JavaScript est là pour apporter une facilité d'utilisation au visiteur, il ne faut jamais l'utiliser pour des fonctions vitales, ça permet de rendre un site plus convivial, mais il ne faut pas que le non-support ou (pire) le support seulement partiel du JS rende le site innaccessible...

    si JS est utilisé dans cette optique, ça permet de faire beaucoup de choses sympa pour ceux qui activent JS
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    et pis de toutes façon, le JS ne peut pas toucher au serveur donc si ton site gère une BDD, les utilisateurs ne peuvent pas trop faire de bêtises.

    De plus où est l'intérêt d'une personne à modifier le javascript à part faire planter SA page ??? Ton JS est sur un serveur protégé (du moins je l'espère) par un mot de passe, il ne pourront pas toucher à la source.

    Pour terminer, et là c'est une mise en garde, il ne faut pas laisser JS gérer ou vérifier des mots de passe, pour un éventuel accès réservé à certaines parties du site. C'est le meilleur moyen d'avoir une bonne grosse faille de sécurité ! Laisser ce soin à PHP, qui est normalement protégé par le serveur...
    Guy777

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par guy777
    et pis de toutes façon, le JS ne peut pas toucher au serveur donc si ton site gère une BDD, les utilisateurs ne peuvent pas trop faire de bêtises.

    De plus où est l'intérêt d'une personne à modifier le javascript à part faire planter SA page ???
    Le problème n'est pas là...
    le problème c'est que si le JS est contourné (pas détourné, contourné) il se peut que des choses touchant à la sécurité, comme la vérification de formulaire, soit annulé et de ce fait permette d'exploiter certaines failles (SQL Injection notam.)
    De plus, si JS gère un point vital de ton site qui ne peut pas fonctionner sans (exemple : le menu) alors les personnes qui ont des navigateurs ne supportant pas JS ou l'ayant désactiver ne pourront avoir accès à ton site

    Citation Envoyé par guy777
    Ton JS est sur un serveur protégé (du moins je l'espère) par un mot de passe, il ne pourront pas toucher à la source.

    Pour terminer, et là c'est une mise en garde, il ne faut pas laisser JS gérer ou vérifier des mots de passe, pour un éventuel accès réservé à certaines parties du site. C'est le meilleur moyen d'avoir une bonne grosse faille de sécurité ! Laisser ce soin à PHP, qui est normalement protégé par le serveur...
    100% d'accord (ça rejoint ce que je disais ^^)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/09/2011, 16h45
  2. Réponses: 6
    Dernier message: 20/08/2011, 09h55
  3. Fonction portant le même nom
    Par Crabe05 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 02/01/2009, 11h28
  4. Réponses: 10
    Dernier message: 24/05/2007, 16h27
  5. [SQL] Unicité d'un champ de résultat portant le même nom
    Par lodan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/11/2006, 11h39

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