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 :

Le formulaire.submit "fige" mon image gif?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Par d�faut Le formulaire.submit "fige" mon image gif?
    Bonjour tout le monde!
    Je viens de tomber sur une erreur assez surprenante (qui comme par hasard ne se produit que chez ie ).
    Je m'explique...
    J'ai dans une page tpl, un formulaire qui permet de faire un upload de flv...
    Voici le 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <form enctype="multipart/form-data" method="post" action="index.php">
       <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
       <input type="hidden" name="activemenu" value="smenu0" />
       <input type="hidden" name="page" value="library" />
       <input type="hidden" name="section" value="library" />
       <input type="hidden" name="tab" value="library_upload" />
       <input type="hidden" name="action" value="uploadtolibrary" />
       <table class="libraryForm">
       <tr>
       <td align="right"><strong>Title*: </strong></td>
       <td><input type="text" id="title" name="title" size="25" value="" /></td>
       </tr>
       <tr>
       <td align="right"><strong>Tags (use , as separator)*: </strong></td>
       <td><input type="text" id="tag" name="tag" size="35" value="" /></td>
       </tr>
       <tr>
       <td align="right"><strong>Description: </strong></td>
       <td><textarea id="description" name="description" rows="3" cols="35"></textarea></td>
       </tr>
       <tr>
       <td align="right"><strong>File: </strong></td>
       <td><input type="file" id="file_to_upload_into_library" name="flv_file"/> {$locale.format_choice}</td>
       </tr>
       <tr>
       <td colspan="2" align="center"><br /><input type="button" name="button" value="{$locale.button_upload}" onClick="ValiderFormUploadLibrary('file_to_upload_into_library','tag','title','error_upl_into_library','errorformat_upl_into_library','error_missing_info','ajaxloader',this.form);"/></td>
       </tr>
       </table>
    </form>
    <div id="error_upl_into_library" style="display: none">
       <div class="dragRouge">
          <em><strong>{$locale.upload_errornofile}</strong></em>
       </div>
    </div>
    <div id="errorformat_upl_into_library" style="display: none">
       <div class="dragRouge">
          <em><strong>{$locale.upload_errorbadformat}</strong></em>
       </div>
    </div>
    <div id="error_missing_info" style="display: none">
       <div class="dragRouge">
          <em><strong>{$locale.upload_missinginfo}</strong></em>
       </div>
    </div>
    <div id="ajaxloader" style="display: none" align="center">
       <img src="{$conf.path_to_pictures}/ajax-loader.gif" alt="ajax-loader" title="ajax-loader" />
    </div>
    Donc dans ce form, j'ai tous les champs d'info du flv, et plusieurs div cach�es pour les erreurs et une qui contient le loader (le gif anim�s)...
    Lorsque l'utilisateur clique sur upload, une fonction javascript est �x�cut�e, elle controle les donn�es, affiche les div d'erreur si n�c�ssaire et affiche la div contenant le gif anim�, juste avant de faire le submit du formulaire...
    Voila le code de cette fonction js:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    function ValiderFormUploadLibrary(data_id, tag_id, title_id, errornofile_id, errorformat_id, errorinfo_id, loader_id, formulaire)
    {
    var file_to_download = document.getElementById(data_id).value;
    var tags = (document.getElementById(tag_id).value).replace(/(^\s*)|(\s*$)/g,"");
    var title_name = (document.getElementById(title_id).value).replace(/(^\s*)|(\s*$)/g,"");
    var errnofilediv =document.getElementById(errornofile_id).style;
    var errformatdiv =document.getElementById(errorformat_id).style;
    var errinfodiv =document.getElementById(errorinfo_id).style;
    var loaderdiv =document.getElementById(loader_id).style;
     
    if ((tags == "") || (title_name == ""))
       {
       errnofilediv.display="none";
       errformatdiv.display="none";
       errinfodiv.display="block";
       loaderdiv.display="none";
       }
    else if (file_to_download == "")
       {
       errnofilediv.display="block";
       errformatdiv.display="none";
       errinfodiv.display="none";
       loaderdiv.display="none";
       }
    else
       {
       nbchar = file_to_download.length;
       extension = file_to_download.substring(nbchar-4,nbchar); 
       extension=extension.toLowerCase(); 
       if ((extension != ".flv"))
          {
          errformatdiv.display="block";
          errnofilediv.display="none";
          errinfodiv.display="none";
          loaderdiv.display="none";
          }
       else
          {
          loaderdiv.display="block";
          errformatdiv.display="none";
          errnofilediv.display="none";
          errinfodiv.display="none";
          formulaire.submit();
          }
       }
    }
    Donc ce code marche super bien pour tous les navigateurs (ah ouais et aussi marche pour un upload de mp3 ) mais pour l'upload de FLV...c'est une autre histoire! Le gif s'affiche bien mais se bloque!!
    J'ai fais quelques tests en mettant un alert avant le submit dans le js, et dans ce cas la, le gif est bien anim�, mais d�s que je clique sur le bouton ok du message alert, hop il se bloque (d'ou ma d�duction que le probl�me vient de ce submit ) mais l'upload marche nickel...le flv est bien upload�...
    Enfin voila...si quelqu'un a une petite id�e, �a me rendrait bien service...
    Merci a tous.
    A+

  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 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
    red�finis le src de l'image sur le onsubmit du form ?
    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
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Par d�faut
    Euh comment �a...comment puis redefinr le src sur le onsubmit ?

    Merci.

  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 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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onsubmit="document.getElementBYId('monimage').src='trucùmachin.gif'"
    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
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Par d�faut
    J'ai modifi� ma balise form de la sorte :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <form enctype="multipart/form-data" method="post" action="index.php" onsubmit="document.getElementBYId('monimage').src='{$conf.path_to_pictures}/ajax-loader.gif'">
    PS : L'id de mon image est bien "monimage"

    Mais rien a chang�...merci quand m�me pour l'id�e!!

    Edit : je viens de trouver sur le forum que le onsubmit n'est execut� que si le formulaire est valid� avec le bouton submit, et non via javascript...ceci explique cela

  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 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


    d�sol� ...
    tu as fait un copier coller ^^
    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
    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
    Bonjour,
    Citation Envoy� par gui38 Voir le message
    Edit : je viens de trouver sur le forum que le onsubmit n'est execut� que si le formulaire est valid� avec le bouton submit, et non via javascript...ceci explique cela
    Et bien lance l'instruction dans la fonction qui d�clenche le submit(), au lieu de le faire dans le onsubmit du <form>

    A+

  8. #8
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut
    @alhoir : je parie que @thibane n'attendait plus une r�ponse, son message date du 24/06/2008 ! C'est ce que nous appelons un d�terrage.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. R�ponses: 2
    Dernier message: 24/11/2005, 14h51

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