Aller au contenu

Redirection qui fonctionne uniquement avec un alert()

Featured Replies

Posté(e)

Re-re-bonjour !

Vous connaissez maintenant tous ma passion pour le Javascript ... et c'est sur quelque chose d'affreusement idiot auquel je bute.

Je souhaite faire une redirection via un javascript car les href ne passent pas dans les "button".

Mon code est donc ainsi :

    function Redirection(page, argument)    {        document.location.href = page + argument;    }

Et mon bouton :

<button type="submit" class="btn btn-success" onclick="Redirection('gestion.php?page=', document.getElementById('champSaisie').value)"><i class="icon-chevron-right icon-white"></i></button>

En bref, ça marche pas (sans blague ?) SAUF ... dans ce cas :

    function Redirection(page, argument)    {        alert(document.location.href = page + argument);    }

(oui, j'ai juste rajouté alert())

Et là, j'ai bien la redirection ...

Si quelqu'un a une idée, je sèche ! :merci:

Modifié par Arcy

Posté(e)

Essaie d'utiliser windows.location.href au lieu de document.location.href

Normalement, le document.location.href est en read only :chinois:

Posté(e)
  • Auteur

Le problème étant que je ne veux pas ouvrir dans une nouvelle fenêtre ...

Sinon ceci ne marche pas ?

    function Redirection(page, argument)    {        redirection = page + argument;        document.location.href = argument;    }

Modifié par Arcy

Posté(e)
  • Auteur

Curieusement, je parviens à faire une redirection avec ça (un autre bouton) :

<button href="" class="btn btn-danger" onclick="document.location.href='index.php?msg=deco'">Se déconnecter <i class="icon-off icon-white"></i></button>

... mais pas avec celui-ci :

<button type="submit" class="btn btn-success" onclick="Redirection('gestion.php?page=', document.getElementById('champSaisie').value)"><i class="icon-chevron-right icon-white"></i></button>

Modifié par Arcy

Posté(e)
  • Auteur

gestion.php?page= -- 5

Donc les infos passent bien mais pas moyen de l'attribuer à href. Pourtant la même chose fonctionne ailleurs, comme indiqué dans mon précédent message ...

Modifié par Arcy

Posté(e)
  • Auteur

C'est bon, en fait j'étais dans un formulaire qui avait déjà sa redirection.

Depuis son remplacement par des <div>, ça marche ;-)

Posté(e)

Ah oui j'avais pas vu le formulaire. Sinon dans ta fonction JS, à la fin, tu met un return false; qui permet de "désactiver" la redirection du form.

Posté(e)
  • Auteur

Je viens d'essayer, ça marche pas :

    function Redirection(page, argument)    {        document.location.href = page + argument;                // on contourne la redirection du formulaire        return false;    }

EDIT : j'avais oublié le "return" avant la redirection dans mon bouton. Ca fonctionne maintenant ;-)

:inpactitude:

PS : on peut plus supprimer ses messages ?

Modifié par Arcy

Posté(e)

Alors là :eeek2:

Sinon en JQuery tu as la propriété $(location) :

$(location).attr('href',"http://www.web.site/");

Mais c'est pour tirer par les cheveux un peu pour savoir le pourquoi du comment que ça marche pas.

Tu as une erreur JS avec Firebug?

Posté(e)
  • Auteur

Aucune erreur mais ça fonctionne maintenant, c'est l'essentiel ;-)

J'aurai préféré me débarasser du formulaire mais ça m'oblige à vérifier le contenu de l'input (touche ENTREE = 13) puis à vérifier la saisie. Bref plus rapide comme c'est maintenant.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.