156 votes

Comment faire en sorte qu'un bouton type = soit un lien hypertexte et redirige à l'aide d'une requête get?

Comment faire en sorte qu'un <input type=button> agisse comme un lien hypertexte et redirige à l'aide d'une demande GET ?

162voto

Wayan Wiprayoga Points 1909

Vous pouvez faire <button> la balise de l'action comme ceci:

<a href="http://www.google.com/">
   <button>Visit Google</button>
</a>

ou:

<a href="http://www.google.com/">
   <input type="button" value="Visit Google" />
</a>

C'est simple et pas de javascript requis!


NOTE:

Cette approche n'est pas valide à partir de la structure du document HTML. Mais, il travaille sur de nombreux navigateur moderne. Voir la référence suivante :

150voto

Sean Vieira Points 47080

Il existe plusieurs façons différentes de le faire, d'abord, il suffit de le mettre à l'intérieur d'un formulaire qui pointe à l'endroit où vous voulez aller:

<form action="/my/link/location" method="get">
    <input type="submit" value="Go to my link location" 
         name="Submit" id="frm1_submit" />
</form>

Cela a l'avantage de fonctionner même sans javascript activé.

Deuxièmement, utiliser un seul bouton avec le javascript:

<input type="submit" value="Go to my link location" 
    onclick="window.location='/my/link/location';" />       

Cela, cependant, ne va pas dans les navigateurs sans JavaScript (Note: c'est vraiment une mauvaise pratique, vous devriez être en utilisant les gestionnaires d'événements, pas de code en ligne comme ça-c'est juste la façon la plus simple d'illustrer le genre de chose que je suis en train de parler.)

La troisième option est de style un lien réel comme un bouton:

<style type="text/css">
.my_content_container a {
    border-bottom: 1px solid #777777;
    border-left: 1px solid #000000;
    border-right: 1px solid #333333;
    border-top: 1px solid #000000;
    color: #000000;
    display: block;
    height: 2.5em;
    padding: 0 1em;
    width: 5em;       
    text-decoration: none;       
}
// :hover and :active styles left as an exercise for the reader.
</style>

<div class="my_content_container">
    <a href="http://stackoverflow.com/my/link/location/">Go to my link location</a>
</div>

Cela a l'avantage de travailler partout et le sens de ce que probablement vous voulez que cela signifie.

10voto

Chris Schmitz Points 660

Vous pouvez aussi simplement envelopper le bouton dans un hyperlien:

 <a href="http://www.google.com"><input type="button" value="Let's Go Google Something!"></a>
 

Le lien hypertexte se déclenche lorsque vous cliquez sur le bouton.

9voto

BalusC Points 498232

Utilisation input type="submit" au lieu et à modifier ou supprimer l' method attribut du parent form élément de telle sorte que sa valeur par défaut GET .

 <form action="http://stackoverflow.com">
    <input type="submit" value="press here">
</form>
 

Si vous insistez vraiment pour utiliser input type="button" , votre seul recours est JavaScript.

7voto

phani_yelugula Points 130
     <script type="text/javascript">
<!-- 
function newPage(num) {
var url=new Array();
url[0]="http://www.htmlforums.com";
url[1]="http://www.codingforums.com.";
url[2]="http://www.w3schools.com";
url[3]="http://www.webmasterworld.com";
window.location=url[num];``
}
// -->
</script>
</head>
<body>
<form action="#">
<div id="container">
<input class="butts" type="button" value="htmlforums" onclick="newPage(0)"/>
<input class="butts" type="button" value="codingforums" onclick="newPage(1)"/>
<input class="butts" type="button" value="w3schools" onclick="newPage(2)"/>
<input class="butts" type="button" value="webmasterworld" onclick="newPage(3)"/>
</div>
</form>
</body>
 

Voici l'inverse, c'est plus simple que l'autre.

 <input id="inp" type="button" value="Home Page" onclick="location.href='AdminPage.jsp';" />
 

C'est plus simple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X