5568 sujets

Sémantique web et HTML

Bonjour j'ai un problem avec un attribut target utilisé dans formulaire

<form id="formReport" action="<?php echo $reportlink;?>" method="post" target="_blank">
		<input type="hidden" name="reportProject" value="1">
		<input type="hidden" name="idProjectRevision" value="<?php echo $idProjetRevision; ?>">
		<input type="hidden" name="generateButton" value="<?php echo $bouton_generate_report; ?>" >
	</form>


qui grace au au code js suivant afin de générer un pdf:


document.getElementById("formReport").submit();


le probleme c'est que j'obtiens l'ouverture d'un popup blocké par Firefox... quel est selon vous le problem qui fait qu'un target="_blank" déclenche l'ouverture d'un popup et ensuite comment y remédier?
Modifié par lextagroove (30 Jun 2010 - 14:35)
Bonsoir,

Première fois que je vois un target="_blank" sur un formulaire. À quoi ça sert?
(La phrase «qui grace au au code js suivant afin de générer un pdf» ne m'a pas éclairé. Il faut dire que j'ai fait français huitième langue. Smiley cligne )
Modifié par Florent V. (30 Jun 2010 - 19:40)
à quoi sert le target dans un formulaire? la même chose que dans un lien ouvrir une nouvelle fenêtre

et pour la phrase, sorry je voulais dire:
que le formulaire est envoyé vers php grave au script js qui suit dans le but de générer un pdf...
Oki doki.

Pour le fait que ta pop-up est bloquée: ça vient à priori du fait que le navigateur bloque les pop-ups. Smiley biggol
(Captain Obvious was here!)

Plus sérieusement, je ne connais pas le détail du fonctionnement du bloqueur de pop-ups dans Firefox ou dans d'autres navigateurs, mais la règle générale me semble être:
1. L'utilisateur clique sur un bouton ou un lien qui ouvre une pop-up? Ok, on ouvre la pop-up.
2. Une fonction pas exécutée directement par une action de l'utilisateur veut ouvrir une pop-up? Ah ben non, on bloque.

Comme tu fais le submit de ton formulaire en JavaScript, c'est interprété comme une action indépendante de la volonté de l'utilisateur.

Solution: revoir le fonctionnement de ton application sur ce point. Soit un fonctionnement par étape plus linéaire (où tu n'essayes pas de faire plusieurs choses à la fois comme ça a l'air d'être le cas ici), soit une parallélisation en utilisant Ajax, ou autre chose encore. Sans connaitre l'application elle-même, je ne peux pas proposer de solution ergonomique et techniquement satisfaisante. Smiley cligne