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 :

'form' a la valeur null ou n'est pas un objet.


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut 'form' a la valeur null ou n'est pas un objet.
    Bonjour � tous.
    J'ai besoin de votre aide pour r�soudre un souci javascript.

    J'explique. Je veux ouvrir une nouvelle fen�tre(que j'appelle arbitrairement winPopup) � l'ouverture d'une premi�re. L'ouverture �pend aussi de la pr�sence d'un document ou non.
    La premi�re est constitu�e d'un form aussi que je ne veux pas soumettre.
    La winPopup ne sert en fait qu'� afficher le document s'il est pr�sent.
    Je sais pas si je suis tr�s clair ...

    Donc le code fonctionne tr�s bien sous FireFox,, mais pas sous Ie7. C'est l� mon probl�me, cela doit fonctionner sous Ie7.
    Le code erreur sous Ie7 est :
    'form' a la valeur null ou n'est pas un objet.

    Code javascript : 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
     
    <form name="fdocument" ></form>
     
    <script>
     
     
    var winPopup;
     
    function openDocument(doc)  { 
      windowName = "Litige";
      form = document.forms['fdocument'];	
      form.action=doc; 
      form.target = windowName;
      form.submit(); 
      winPopup = window.open("", windowName); 
     
    }
     
    function closePopup() {  
      if (winPopup) winPopup.close();
    }
     
    var fileName ='chemin vers un document';
    if (!fileName == '') {
    	openDocument(fileName);
    }
    </script>

    Qu'en pensez-vous?
    Merci pour votre participation.

  2. #2
    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 : 55
    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
    Oui, dans la mesure o� form est une propri�t� des �l�ments de formulaires, d�j�, le nom de variable est mal choisi, mais si en plus tu ne pr�cises pas qu'il s'agit d'une nouvelle variable... �a devient vraiment compliqu� pour les navigateurs de s'adapter
    Essaye de changer de nom de variable et de pr�ciser :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var form = document.forms['fdocument'];
    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

  3. #3
    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
    tu soumets le formulaire avant d'ouvrir la popup ...
    a mon avis un probl�me d'instanciation ...
    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 !

  4. #4
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Merci pour votre r�activit�
    J'ai test� vos solutions mais cela ne fonctionne pas.
    Si je declare form en variable.
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    var form = document.forms['fdocument'];
    L'erreur devient 'undefined' est null etc...
    Sinon pour l'ouverture de la fen�tre avant la soumission du formulaire ca focntionne � moiti�. La fen�tre s'ouvre mais vierge alors qu'elle devrait etre charg�e.

  5. #5
    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,
    comme d�j� dit, "form" est un tr�s mauvais choix comme nom de variable

    Sinon, d�place ton passage <script> dans la partie <head> et appelle sur l'�v�nement onload du <body>.

    Actuellement, ton form n'existe pas encore forc�ment � l'ex�cution de la fonction (d'o� le message)

    A+

  6. #6
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Le nom de la variable n'est pas responsable du mauvais fonctionnement d'Ie7.
    J'ai d�ja chang� le nom de la variable en plus de la d�clarer mais cela ne change rien.
    Mon code s'int�gre dans un autre ,je ne dois pas changer de structure.
    J'ai lu aussi sur internet que Ie avait du mal avec les document.forms et qu'il fallait les remplacer par des document.getElementsBy
    Mais m�me cette solution ne fonctionne pas.

  7. #7
    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 : 55
    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
    Mon code s'int�gre dans un autre
    C'est s�r que ne pas donner l'ensemble des donn�es d'un probl�me n'aide pas trop � le r�soudre...
    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

  8. #8
    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
    un setTimeout sur le sublit du form juste pour laisser le temps � la popup de s'instancier ...
    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 !

  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 Bovino Voir le message
    C'est s�r que ne pas donner l'ensemble des donn�es d'un probl�me n'aide pas trop � le r�soudre...
    +1

    Il serait donc int�ressant d'avoir l'ensemble de la page et du fonctionnement de celle-ci ...

    A+

  10. #10
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Je ne peux pas tout vous fournir je bosse pour une entreprise (qui elle-m�me bosse pour des clients qui ont "bien" pay� ce d�veloppement)et je n'ai pas la permission de tout d�voiler. Je n'ai d'ailleurs aucune autorisation pour poster des bouts de code quels qu'ils soient.. J'en suis le premier d�sol� mais c'est comme ca.
    Pour ce qui est de la r�solution du probl�me, je pense vous avoir fourni assez d'informations. Mon bout de code s'int�gre dans un script. Donc autrement dit vous avez l� toutes les donn�es n�cessaires � la compr�hension de mon probl�me.Ne vous offusquez pas, mais je ne peux pas vous en fournir plus.
    En plus de ca je d�bute en javascript, et j'ai vraiment besoin de votre aide.

  11. #11
    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 ruza01 Voir le message
    Donc autrement dit vous avez l� toutes les donn�es n�cessaires � la compr�hension de mon probl�me.Ne vous offusquez pas, mais je ne peux pas vous en fournir plus.
    Petite rectification :
    OK, tu n'as pas la possibilit� de nous donner plus de code : c'est une contrainte et personne ne s'en "offusquera"
    Par contre, NON nous n'avons pas tous les �l�ments pour cerner ton probl�me.
    En l'�tat il est seulement possible de faire des suppositions (ce qui a �t� fait)

    A+

  12. #12
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Je vous assure toutes les donn�es sont l�. C'est un code qui se place dans un script. De plus mon souci est que je dois faire fonctionner ce code sous Ie7 alors que sous FF il fonctionne parfaitement.
    Pour la solution du setTimeout, je ne sais pas l'utiliser.Je l'ai plac� ici
    Code javascript : 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
     
    <form name="fdocument" ></form>
     
    <script>
     
     
    var winPopup;
     
    function openDocument(doc)  { 
      windowName = "Litige";
      form = document.forms['fdocument'];	
      form.action=doc; 
      form.target = windowName;
      setTimeout("submit()",10000);
      form.submit(); 
      winPopup = window.open("", windowName); 
     
    }
     
    function closePopup() {  
      if (winPopup) winPopup.close();
    }
     
    var fileName ='chemin vers un document';
    if (!fileName == '') {
    	openDocument(fileName);
    }
    </script>
    Mais ca ne change rien non plus.

  13. #13
    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 ruza01 Voir le message
    Mais ca ne change rien non plus.
    Ben normal l� tu fais quand m�me le submit imm�diatement:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    setTimeout("submit()",10000);
    form.submit(); 
    A+

  14. #14
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    J'ai sorti le setTimeout en dehors de la fonction openDocument et je remarque rien de particulier.

  15. #15
    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 ruza01 Voir le message
    J'ai sorti le setTimeout en dehors de la fonction openDocument et je remarque rien de particulier.


    Oui, mais c'est pas �a le probl�me : il faut virer la ligne pour tester le setTimeout() ...

    A+

  16. #16
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Si je vire le submit(), le probl�me est � moiti� r�solu.
    J'ai bien une nouvelle fen�tre qui s'ouvre mais vierge alors qu'elle devrait �tre charg�e.

  17. #17
    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 : 55
    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
    J'ai bien une nouvelle fen�tre qui s'ouvre mais vierge alors qu'elle devrait �tre charg�e.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    winPopup = window.open("", windowName);
    Non... pas vraiment !
    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

  18. #18
    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
    Une question certainement b�te : pourquoi tu ne fais pas plus simplement
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    function openDocument(doc)  { 
      windowName = "Litige";
      winPopup = window.open(doc, windowName); 
    }


    A+

  19. #19
    Membre confirm�
    Inscrit en
    D�cembre 2008
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 72
    Par d�faut
    Merci pour vos r�ponses.
    Le code fonctionne parfaitement sous FF comme cela. Il m'affiche bien une nouvelle fen�tre charg�e et non vierge m�me si je ne donne pas d'url � ma nouvelle fen�tre.

    E.Bzz ta question n'est pas b�te du tout mais tr�s pertinente pusqu'elle solutionne mon probl�me lors de l'ouverture automatique de la fen�tre.
    Mais une fois ferm�e je dois pouvoir aussi l'appeler de nouveau, manuellement cette fois, gr�ce � un lien situ� sur la premi�re fen�tre, sans submiter la premi�re fen�tre (qui est elle aussi dans un form)...
    D'o� la n�c�ssit� de passer par un form bidon (fdocument) et de lui donner toutes les info n�c�ssaire.

  20. #20
    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 ruza01 Voir le message
    Mais une fois ferm�e je dois pouvoir aussi l'appeler de nouveau, manuellement cette fois, gr�ce � un lien situ� sur la premi�re fen�tre, sans submiter la premi�re fen�tre (qui est elle aussi dans un form)...
    Ca peut se g�rer aussi, �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function openDocument(doc)  { 
      windowName = "Litige";
      document.getElementById('lien_pop').href = doc;
      document.getElementById('lien_pop').target = "Litige"    // Pour �viter de l'ouvrir 2 fois si elle est d�j� ouverte
      winPopup = window.open(doc, windowName); 
    }
    avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a id="lien_pop" href="">R�ouvrir la pop</a>
    en l'adaptant bien s�r � ton lien actuel ...

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. Erreur sous IE : 'form' a la valeur Null ou n'est pas un objet
    Par Esil2008 dans le forum G�n�ral JavaScript
    R�ponses: 10
    Dernier message: 30/04/2008, 16h39
  2. [DOM] Erreur JS (valeur null ou n'est pas un objet)
    Par jibeji dans le forum G�n�ral JavaScript
    R�ponses: 13
    Dernier message: 10/02/2008, 15h42
  3. R�ponses: 1
    Dernier message: 22/05/2007, 12h51
  4. 'value' a la valeur Null ou n'est pas un objet
    Par FrankOVD dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 31/05/2006, 08h25

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