[Javascript] Redirection de page

Et bien voilà, ca peut vous paraitre totalement absurde. Mais voilà que je n’arrive absoluement pas à faire une redirection de page suite à un clic sur un bouton.

J’ai testé plusieurs commandes mais aucunes ne réagit. Le Browser ne m’affiche pas une seule erreur javascript.

Voici la liste des commandes utilisées (double quote ou simple quote pour le contenu de l’url, ca ne change rien) :

var mon_url; window.navigate(mon_url); window.location = mon_url; location = mon_url; location.href = mon_url;

Par contre, si je fais un window.open(mon_url) ca marche impec. Ah, j’oubliais, dans l’url j’ai seulement mis le nom de la page plus ces paramètres. Donc pas d’url commencant par « http:// ». Le pire c’est que tous les exemples que je trouve sur le net via mon super ami google, je tombe sur les commandes ci dessus. Je suis meme tombé sur un site qui permet de les tester en live.

Malheureusement, la commande ne semble pas réagir. :confused:

Précision, le bouton se trouve sur chaque ligne de la datagrid. Et à l’évènement ItemDatabound, j’essais de réattribuer la nouvelle url du bouton à partir d’une dropdownlist situé dans la même ligne.

Tain, la honte de faire un topic sur une commande toute simple :confused:

Si ton bouton est géré côté serveur, n’oublie pas d’ajouter un return false après ton appel à location. Genre:

Ensuite je ne sais pas si c’est pour ça que chez toi ça ne marche pas B) Mais en gros l’idée est d’empêcher le postback auto du bouton, qui du coup empêche le redirect.

raaah dommage. Je n’ai pas l’évènement OnClientClick sur mon control bouton. Surement à cause de mon framework .NET obsolète ^^ (ici, le 1.1).
Ensuite, j’ai quand même tenté de mettre ton return false dans ma fonction javascript. Y a bien aucun postback au clic mais sinon, la page ne change pas.

Et enfin, pour finir, j’ai procédé de cette manière pour l’évènement clic du bouton (syntaxe pas certaine étant donné que je n’ai plus Visual Studio sur le PC, et j’ai pas pensé à l’installer sur mon PC flambant neuf datant depuis mars).

Le code n’est pas exactement ce que j’ai fait

// Dans la méthode du OnItemDataBound de la datagrid Button monBouton = new Button(); // au lieu du new, j'utilise un cast de l'objet eventArgs généré par la méthode OnitemDataBound, avec l'utilisation de FindControl ). monButton.Attributes.Add("OnClick", "java script:maFunctionDeRedirection('url_de_ma_nouvelle_page.aspx?mes_params=...')");

Que je remplace java script:maFonction par l’une des commandes JS ne change rien au problème.

J’espère ne pas faire un HS, je suis debout depuis 5 minutes, c’est difficile B)

Moi j’utilise ce genre de code

[code][/code]

Et l’appel
<input name="cmd_submit" type="button" onClick="MM_goToURL('self','page.php?arguments'); return document.MM_returnValue" value="Valeur">

C’est une technique que j’ai récupéré sur des pages faites par ma boite, et ça marche, pour moi, dans tous les cas.

On est bien d’accord MetalDestroyer, tu ne mets pas le java script: dans le vrai code au niveau du monBouton.attributes.add(“OnClick”, “…”)?

eka808, je dois dire que je ne sûr de comprendre comment marche ton bout de code B) En même temps je ne suis pas un grand maître de javascript.

[quote=“BodySplash, post:5, topic: 34801”]On est bien d’accord MetalDestroyer, tu ne mets pas le java script: dans le vrai code au niveau du monBouton.attributes.add(“OnClick”, “…”)?
eka808, je dois dire que je ne sûr de comprendre comment marche ton bout de code B) En même temps je ne suis pas un grand maître de javascript.[/quote]

Non, non rassure toi ^^. Je mets seulement le nom de la fonction Javascript. Le code , le vrai celui de la fonction est mis dans la page aspx (enfin pour l’instant).

[quote=“eka808, post:4, topic: 34801”]J’espère ne pas faire un HS, je suis debout depuis 5 minutes, c’est difficile B)

C’est une technique que j’ai récupéré sur des pages faites par ma boite, et ça marche, pour moi, dans tous les cas.[/quote]

Ca reviens pas à faire tout simplement un self.location = mon_url ? B) Ah moins que tu veux pouvoir gérer d’autre paramètre autre que self.

EDIT : bah finalement, marche pas. J’ai pas copié l’intégralité du code. J’ai mis d’office self.location. Que se soit Firefox ou IE 7, y a rien.

et tu dis que tu n’as toujours pas d’erreurs javascript sur ta page? La ça devient tordu B)

J’ai un peu lu en diagonale, mais pour du Javascript à la con :

[code]

pouet [/code]

[quote=“BodySplash, post:5, topic: 34801”]On est bien d’accord MetalDestroyer, tu ne mets pas le java script: dans le vrai code au niveau du monBouton.attributes.add(“OnClick”, “…”)?

eka808, je dois dire que je ne sûr de comprendre comment marche ton bout de code B) En même temps je ne suis pas un grand maître de javascript.[/quote]

Lol, je vais être franc, j’ai jamais cherché à comprendre cette fonction, mais pour moi, elle fonctionne sans souci sous explorer et firefox B)

[quote=« fser, post:9, topic: 34801 »]J’ai un peu lu en diagonale, mais pour du Javascript à la con :

[code]

pouet [/code][/quote]

C’est ce que j’ai fait sur un html tout con. Et ca marche imppec. :confused: Dès que j’insère ce document.location dans mon code behind (dans le myButton.Attributes.Add(« OnCLick », « document.location=‹ url › »); ) ca merdouille. B)

Pourquoi veux-tu mettre un lien sur un input et par sur un a ?

Hum, pas con, j’y ai pas pensé. Sinon, j’ai trouvé un indice du pourquoi je n’ai pas de redirection. L’URL de destination que recoit mon bouton est codé. Je m’explique dès que l’url contient & ou ?, le caractère est remplacé par & etc…
Par contre, pour trouver la solution :confused: je cherche. J’ai lu qu’en effectuant un server.urldecode(« mon_url ») ca pourrait résoudre, mais pas encore testé.

Edit : ca marche imppec avec l’hyperlink. Mais bon, ca casse un peu le design B)

La source générée est bonne au moins ?

ajoute un truc du genre a.la-classe-de-ton-boutton {background: url(fond-quiressemble-a-un-bouton.gif) no-repeat; color: etc…} et voilà B)