Lien href qui ouvre une nouvelle fenêtre

ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009 - 28 mai 2009 à 17:36
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 29 mai 2009 à 15:59
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

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 07:07
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 07:09
je voulais même dire
mais pourquoi donc passer par un lien
      qui appelle une fonction pour soumettre le formulaire ???
0
ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 08:19
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.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 10:11
pas assez d'infos pour répondre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 10:48
Je suis prêt à te fournir n'importe quelle information qui manque.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 11:02
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 !
0
ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 11:31
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.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 12:36
_ 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 !
0
ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 14:41
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()".
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 15:01
>>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....
0
ybidon Messages postés 6 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 15:53
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.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
29 mai 2009 à 15:59
>>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....
0
Rejoignez-nous