Bonjour, pour les besoins d'un projet, je dois pouvoir passer des valeurs post lors du click sur un lien classique.
Pour se faire je génère un formulaire HTML via javascript (et jquery) avec les bonnes valeurs, puis je submit() le formulaire, le code fonctionne très bien sous firefox par contre pas moyen de trouver la solution sur IE :/
Voilà le code complet du script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function linkToDocumentation(event){
	$('<form action="index.php?id=1807" name="tx_indexedsearch" id="form_doc" method="post" style="display:none;">'+
			'<input type="hidden" value="1576" name="tx_indexedsearch[uidDebut]"/>'+
			'<input type="hidden" value="1"    name="tx_indexedsearch[ext]"/>').appendTo(document.body);
	$(event.target).attr({href:'#'});
	$('#form_doc').submit();
}
 
function initListener(){
    $('#acby123').click(linkToDocumentation);
}
 
$(window).load(initListener);
J'aimerai savoir comment le rendre compatible sous IE sachant que pour le moment quand on clique sur le lien, IE exécute le href="#" et rien d'autre.
A noter qu'après recherche j'ai vu qu'il fallait ajouter un return false; comme évènement du lien (bien que je ne vois pas trop pourquoi)
j'ai donc fait ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function initListener(){
    $('#acby123').click(linkToDocumentation);
    $('#acby123').click( function(){ return false;});
}
et j'ai même essayé d'empêcher l'exécution par défaut avec ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
function linkToDocumentation(event){
	if(!event) event = window.event;
	event.stopPropagation();
	event.preventDefault();
}
Mais ca ne change rien du tout .

PS: aucune erreur javascript sur la page