bouton html v.s. html soumettre?
J'ai une zone de texte d'entrée et une recherche bouton "soumettre", et lorsque l'utilisateur clique sur la Recherche de bouton de type submit, je veux rediriger l'utilisateur vers l'url http://testsearch/results.aspx?k=<value of text box k>
par exemple, si l'utilisateur a mis "StackOverflow" dans la zone de texte, puis clique sur le bouton de recherche, je veux rediriger l'utilisateur vers la page suivante,
http://testsearch/results.aspx?k=StackOverflow
Je trouve quand j'utilise le bouton de bouton de Recherche, il fonctionne (voir ci-dessous les codes source),
<input type="text" id="k" name="k" />
<input type="button" id="Go" value="Search" onclick="location.href = 'http://somemachine/Search/results.aspx?k='+document.getElementById('k').value;"/>
mais lorsque j'utilise le soumettre pour le bouton de Recherche, il ne fonctionne pas (voir ci-dessous les codes source), pourquoi?
<input type="text" id="k" name="k" />
<input type="submit" id="Go" value="Search" onclick="location.href = 'http://somemachine/Search/results.aspx?k='+document.getElementById('k').value;"/>
merci d'avance,
George
source d'informationauteur George2
Vous devez vous connecter pour publier un commentaire.
Vous pouvez même utiliser le bouton "soumettre" de cette façon:
Sémantiquement soumettre bouton est utilisé pour soumettre des formulaires de ne pas rediriger les pages. Vous devriez faire un usage normal, le type de bouton pour cela. Cependant, comme je l'ai montré, vous pouvez utiliser le bouton "soumettre" aussi, mais qui n'est pas sémantique, je pense.
La ligne ci-dessous empêche le formulaire de soumission.
Qu'est ce qui vous manque dans votre code 🙂
Grâce
<button>-elements
et<input type="button"/>
ne faites rien par défaut, sauf si vous leur dites de faire quelque chose avec Javascript.<input type="submit"/>
va soumettre le formulaire, il est en.Donc, si
<input type="submit"/>
ne fonctionne pas, vous l'avez probablement pas dans le<form/>-element
lui-même.Si c'est le seul domaine dans votre formulaire, il suffit de définir la forme de la méthode "get" et ça marchera.
<button>
signifie "mettre un bouton dans la page et de faire ce que l'événement onclick dit". Donc, si vous n'écrivez pas un onclick gestionnaire de la page n'est pas ne rien faire.Si vous utilisez soumettre est ok, parce que vous voulez rediriger vers une autre page.
Si vous voulez utiliser le bouton de toute façon vous pouvez le faire de cette façon:
Avertissement: bouton soumettre avec onclick
Si vous avez un bouton de soumission (à l'intérieur d'une forme, c'est un bouton d'envoi) avec un événement onclick, certains navigateurs:
1) exécuter onclick
2) exécuter soumettre
votre onclick essaie de rediriger mais le bouton soumettre gagne.
Si vous voulez éviter cela, vous avez quelques options:
a) modification du bouton "soumettre" à la normale bouton
b) éviter de le soumettre chose (ajouter onsubmit="return false;" élément de formulaire)
c) utiliser le soumettre à la procédure (form action="..." method="get", aucun événement onclick), le navigateur sera heureux et vous pouvez contrôler le soumettre à l'événement onsubmit (vous pouvez l'annuler ou pas).
assurez-vous que vous avez obtenu l'entrée dans une balise de formulaire avec une méthode GET:
Si je comprends correctement, il n'est pas de travail parce qu'il n'est pas dans une balise de formulaire. Si vous le mettez dans une balise form method="get" il devrait fonctionner. Le bouton fonctionne parce qu'il n'a pas à être en forme.