Lien href qui ouvre une nouvelle fenêtre

Signaler
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour à tous,

Et désolé si je ne poste pas dans la bonne section.
J'ai un souci avec un code pourtant tout simple : il s'agit en fait du lien [javascript:soumission() vers Page2]
</form>

<script language="JavaScript">
    function soumission()
    {
        form.submit();
    }
</script>

Et bien, sous IE 6, il se passe la chose suivante : au moment du clic sur "vers Page2", cela m'ouvre une nouvelle fenêtre IE avec comme url : javascript:soumission().
Je ne pige pas pourquoi il m'ouvre cette nouvelle fenêtre, cela ne me le fait que pour un seul PC, du coup j'imagine qu'il s'agit d'un paramétrage d'IE mais j'ai un peu cherché et rien trouvé de significatif.

Je vous remercie par avance

12 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,

pourquoi passer par un lien pour soumettre le formulaire ?
( même si ce que tu dis ne dois pas être tout à fait vrai,
  tu dois faire d'autres choses pour provoquer cela,
  je pense ... )

<form action="page2.jsp" method="post" name="frm">
   
</form>
ça fait la même chose en bien plus mieux !!!

Cordialement
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
je voulais même dire
mais pourquoi donc passer par un lien
      qui appelle une fonction pour soumettre le formulaire ???
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009

Merci pour ta réponse.
Tu as bien deviné, j'ai simplifié le code au maximum, ça fait beaucoup plus de choses que ça normalement. D'ailleurs le code n'est pas de moi (je me demande aussi pourquoi passer par tout ce bins pour aller à la page suivante), je n'ai fait que récupérer le problème.
Vu que ça ne me la fait que sur un seul poste j'imagine qu'il s'agit d'un paramétrage du PC et plus précisément d'IE. Mais ça ne doit pas être le Javascript désactivé vu qu'il y'en a dans les pages précédentes.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
pas assez d'infos pour répondre.
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009

Je suis prêt à te fournir n'importe quelle information qui manque.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
le minimum pour voir ce que tu fais.
( EXTRAIT du formulaire, du javascript...
  le nécessaire, tout le nécessaire, mais uniquement le nécessaire !
  sinon, c'est décourageant quand il y a 368597 lignes )
j'espère que le lien + l'appel de la fonction + submit en javascript
  a été remplacé par un bouton submit !
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009

J'ai essayé d"épurer au maximum la belle JSP dont j'ai héritée. Ca donne ça :

Page1.jsp :

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"%>


<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache">
</head>





<form action="Page2.jsp" method="post" name="form">


... Code ...


 [javascript:soumission() ]


... Code ...


<%


... Code ...
 
 String valide = request.getParameter("valide");


 if(valide.equals("true"))
 {
... Code ...
  out.println("<script language="javascript">form.action="Page2.jsp";form.submit();</script>");
 }
%>
 ">


 <script language="JavaScript" type="text/JavaScript">
 
 function soumission()
 {
... Code ... 
  form.valide.value = "true";
  form.action = "";
  form.submit();
 }


 </script>




</form>



</html>

Voilà ce qui devrait se passer normalement :
L'utilisateur clique sur le lien href, ça lance soumission(), cette fonction soumet le formulaire et donc relance sur la même page.
Comme valide est à 'true', on passe dans un certain code JSP puis on soumet à nouveau le formulaire (grâce à  la ligne form.action="Page2.jsp";form.submit();) et on bascule sur Page2.jsp

Et en fait il se passe ça :
L'utilisateur clique sur le lien href, ça ouvre une nouvelle fenêtre IE avec dans la barre d'adresse "javascript:soumission()" et évidemment une belle erreur dans le corps de cette nouvelle fenêtre.

J'espère que j'ai étais clair.
Si tu as besoin d'uatres infos, n'hésites pas.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
_ remplace le lien + l'appel de la fonction + submit en javascript
  par un bouton submit !
  et sucre tes form.submit();
 et perso, j'évite les noms qui ressemblent à ce que conais le html/javascript !
 ici form ( je ne sais pas si c'est le cas ici, mais un jour ou l'autre ça joue des tours ! )

_ >>cette fonction soumet le formulaire et donc relance sur la même page.
>>Comme
valide est à 'true', on passe dans un certain code JSP puis on soumet à
nouveau
>>le formulaire (grâce à  la ligne
form.action="Page2.jsp";form.submit();)
>>et on bascule sur Page2.jsp
rien compris ?
tu ne te compliques pas un peu la vie là ?
_ il nous faut le code html résultant ( enfin l'extrait )
   pas l'asp !

et là :

<form action="Page2.jsp" method="post" name="form">
... Code ... ... Code ...
<%
... Code ...
 String valide = request.getParameter("valide");
 if(valide.equals("true"))
 {
... Code ...
  out.println("<script language="javascript">form.action="Page2.jsp";form.submit();</script>");
 }
%>....
c'est dans la même page ?
pas sûr que tu ais compris les relations asp ( langage serveur quelconque ) et html/javascript !
regarde ta page html générée !
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009

Au risque de me répéter, ce n'est pas mon code. Je suis tout à fait d'accord pour dire que c'est super compliqué pour pas grand chose.

A mon avis, mettre tout le code était une mauvaise idée et complexifie la compréhension alors que mon problème est tout bête.  Oublions ce qui a été dit avant.

J'ai ce lien, dans Page1.jsp, qui permet d'aller vers Page2.jsp :

<form action="Page2.jsp" method="post" name="form">
   [javascript:soumission() clic]
</form>

Le fonction Javascript soumission() fait juste un submit du formulaire.

<script language="JavaScript" type="text/JavaScript">
function soumission()
{
   form.submit();
}
</script>

Tout ce code est dans Page1.jsp.
Et bien quand je clique sur mon lien "clic", au lieu de lancer la fonction soumission(), mon navigateur Internet Explorer m'ouvre une nouvelle fenêtre avec le contenu de la propriété href de mon lien dans l'adresse. C'est-à-dire qu'il m'ouvre une nouvelle fenêtre IE en pluis de ma Page1.jsp avec comme url : "javascript:soumission()".
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>ce n'est pas mon code.
et tu ne peux pas le modifier ?
car ça ne peut que se mélanger les yeux...

dans un lien, déjà, il faudrait href= "javascript:void(soumission());"... ou return false
ensuite, il faut éviter les name qui peuvent poser des soucis ( form )
de plus ; form comme ça ??? qui peut s'y retrouver ????
et ce  sans préjuger du reste !

au minimum :
<form action="Page2.jsp" method="post" name=" frm ">
   [javascript:void(soumission()); clic]
</form>
<script type ="text/JavaScript">
function soumission()
{   document.frm.submit(); }
</script>

mais franchement sans garanti....
ce serait si simple de mettre un bouton submit....
Messages postés
6
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
29 mai 2009

A dire vrai, je ne peux pas modifier le code sauf si c'est un bug.
Mais comme ça ne le fait que sur un seul poste, je pense pas que c'en est un... C'est plutôt un problème de paramétrage d'IE je pense.
A la rigueur je pourrais toucher le code si c'est invisible pour l'utilisateur, ce qui n'est pas le cas si je change un lien en bouton.

Je vais essayer de faire une simple page avec un lien et ce que tu as suggéré pour voir si j'obtiens le même comportement bizarre sur ce PC.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
>>ce qui n'est pas le cas si je change un lien en bouton.
ah bon ? et en mettant le style qui va bien ?

<form>
....
    [# lien]

   
</form>

si tu vois une différence, suffit de modifier le style....