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 :

Comportement balise input et javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut Comportement balise input et javascript
    Bonsoir,

    Dans la série de "je ne comprends pas pourquoi", voici mon cas. Dans le cadre du développement d'une administration, j'utilise un formulaire permettant de saisir du texte ainsi que joindre une image via un champ file.

    Lorsque l'utilisateur a terminé la saisie, il doit pouvoir valider le formulaire en cliquant sur un bouton de type "button" qui execute une fonction de vérification javascript.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Valider" onclick="javascript:validationForm(this.form)" />
    Alors que la page ne renvoie aucune erreur sous Firefox, ce n'est pas le cas d'Internet Explorer 6 et 7. En effet, j'ai une erreur de script qui apparait mais je ne vois absolument pas d'ou cela peut provenir. Surtout que Firefox ne renvoie rien dans la console d'erreurs et que le traitement se passe correctement.

    La seule chose que je constate, c'est dès lors que mon champ "file" est renseigné par le chemin d'une image locale, et que je viens ensuite cliquer sur mon bouton de vérification cela m'affiche une erreur de script. (ce qui est d'autant plus surprenant c'est que la même procédure est utilisée sur d'autres pages et fonctionne parfaitement).

    Avez vous déjà rencontré ce genre de problème et si oui avez vous une idée d'ou pourrait provenir le bug car la je déprime, et mon client s'impatiente

    Merci


  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    slt,

    il te repère l'erreur ! mais c'est dans le code une fois le parse php effectué, donc ce n'est peut être pas la même ligne... passe par le code source que tu récup en ligne...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Bon donc, après analyse cela vient très certainement de ces lignes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if(formulaire.photo_musicos.value!=""){
     
         var vecteur = formulaire.photo_musicos.value.split(".");
         var extension = vecteur.lastIndexOf("jpg");
     
         if(extension!="-1"){
    	var upload="1";
         }else{
    	var upload="0";
         }
    }
    En gros, je souhaite ici récupérer la valeur (chaine de caractère) du contenu de mon champ "input type file", puis casser cette chaine grâce à un indice (puisqu'il s'agit d'une photo la chaine de caractère doit théoriquement contenir qu'un seul point), et ensuite grâce à la méthode lastIndexOf savoir si ma recherche est infructueuse.

    Pourquoi cette portion de code fonctionne sur Firefox mais pas sous Internet Explorer ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    slt,

    fait ta vérification en début de traitement, dans ton script php (enfin, si c'est avec php que tu traites...)

    tu dois avoir dans la balise form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id='ton id' action='ton action' method='POST' enctype='multipart/form-data'>
    ...
    les champs de ton formulaires
    ...
    </form>
    et dans ton script PHP, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_FILES["ton champ input file"]["name"]
    qui te permet de récupérer le nom du fichier... tu peux ensuite vérifier son extension etc....

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Ouaip mais le but est justement d'éviter un submit, la sollicitation du serveur etc. Je préfère nettement que mon utilisateur soit directement alerté sur la page du formulaire que l'extension n'est pas correcte. Ca évite de coder derrière des routines en php pour faire un affichage de message d'erreur etc. Beaucoup plus simple à mettre en place en javascript et tellement plus pratique.

    J'ai finalement trouvé une solution de vérification de formulaire en javascript qui est compatible sous internet explorer et firefox. Allez savoir pourquoi à l'origine, ma solution ne fonctionnait pas sous internet explorer

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

Discussions similaires

  1. Javascript et la balise INPUT
    Par Delack dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 19/01/2010, 18h08
  2. type "file" pour la balise input
    Par fa_say dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/09/2005, 15h13
  3. Modif des attributs d'une balise <param> en javascript
    Par Henri dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/08/2005, 22h20
  4. [DEBUTANT] CSS balise input
    Par nine dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 23/03/2005, 13h40
  5. police dans balise input et select
    Par le_ben dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/03/2005, 14h54

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