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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  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
    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+

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

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

  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
    Merci pour ta proposition.
    J'ai essay� ta solution. Ca ne marche pas.
    De plus je ne peux pas remplacer le href du lien, puisque c'est cet attribut qui appelle la fonction openDocument() qui tente d'ouvrir une popup.

  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
    Ca ne marche pas.
    Ce diagnostique ne va pas aider � le faire marcher

    Citation Envoy� par ruza01 Voir le message
    De plus je ne peux pas remplacer le href du lien, puisque c'est cet attribut qui appelle la fonction openDocument() qui tente d'ouvrir une popup.


    J'ai l'impression que tu es parti sur un fonctionnement bien compliqu� pour g�rer ce cas tr�s simple ...

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

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