11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

Voici le soucis que je rencontre : J'ai créé une Thickbox. Dans celle-ci, je tente de soumettre un formulaire créé à la volé (j'ajoute son code dans un div grâce à la fonction .html() de JQuery), lors d'un clique sur un bouton (je précise que celui-ci n'est pas le bouton submit).

Pour illustrer mes propos, voici les codes (copiez / collez pour tester) des 3 petits fichiers :

lance_popup.html :

<html>
<head>
<link rel="stylesheet" href="http://jquery.com/demo/thickbox/thickbox-code/thickbox.css" type="text/css" media="screen" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://jquery.com/demo/thickbox/thickbox-code/thickbox-compressed.js" type="text/javascript"></script>
</head>
 
<body>
 
<a href="popup.html?KeepThis=true&TB_iframe=true&height=230&width=380" id="id_display"  class="thickbox" title="POPUP TEST" style="margin:50px;">lancer la Thickbox</a>
 
</body>
</html>


popup.html :

<input type="button" id="id_button_go" value="Submit le formulaire" style="margin:50px;" />
<div id="id_content_form" style="display:none;"></div>
 
<!-- JS -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script language="JavaScript">
<!--
$(document).ready(function() 
{		
	$("#id_button_go").click(function() 
	{	
		//alert("rrr");
		var str_form = "<form target='_blank' action='test.html' method='POST' name='name_form' id='id_form'></form>";
		$("#id_content_form").html(str_form);			
		$("form#id_form").submit();		
		$("#id_content_form").html("");	
		return false;		
	});	
});
-->
</script> 


Et enfin test.html :

 
<html>
<head>
</head>
<body>
	HELLOOOOOOOOO
</body>
</html>



J'ai volontairement simplifié le code pour se concentrer sur le problème.

Mon soucis vient lors des cliques sur le bouton "Submit le formulaire" de la popup thickbox. En effet, lorsque je clic plusieurs fois dessus sous Firefox ou IE, cela m'ouvre autant de fois la page test.html...

Par contre, Sous Chrome, cette page ne se lance qu'une seule fois ! J'ai beau re-cliquer dessus ça ne fonctionne pas et je me demande bien pourquoi ... ???


Si quelqu'un pouvait m'aider ce serait super Smiley smile

Merci à vous !
J'apporte des précisions...

Même quand le fichier popup.html fait juste cette ligne de code :

<form target='_blank' action='test.html' method='POST' name='name_form' id='id_form'><input type="submit" /></form>


et que je tente d'appuyer plusieurs fois sur le bouton submit, ça ne marche pas sous chrome !!

(donc le problème vient bien de la soumission du formulaire dans la thickbox avec chrome ...)

Quelqu'un à une idée pour contourner à la limite ce problème ?? (en gros j'ai besoin d'envoyer des données en POST à un fichier (ici test.html) mais celui-ci doit s'ouvrir dans une nouvelle fenêtre. Je pense que c'est faisable mais pour cela je ne connais que le formulaire... Peut-être qu'en utilisant la méthode $.post de JQuery ??)
Modifié par benthebest (16 Feb 2011 - 15:18)