En appuyant sur "enter" sur un input type=“text”, comment?
Je suis confronté à un problème que je ne peut pas résoudre JQuery Javascript. Pouvez-vous m'aider et m'aider à comprendre.D'abord voici mon code :
(...)
<script type="text/javascript">
//Autocomplete suggestions
$(function () {
$("#autoCompInput").autocomplete({
source: "/Suggestions",
minLength: 3,
select: function (event, ui) {
if (ui.item) {
$("#autoCompInput").val(ui.item.value);
$("form").submit();
}
}
});
});
//Provide search results
$(function () {
$("#autoCompSearch").click(function () {
var searchParameters = $("#autoCompInput").val();
var jsonData = JSON.stringify(searchParameters, null, 2);
window.location = "/Search?criteria=" + searchParameters;
});
});
</script>
(...)
<input class="ui-autocomplete-input" id="autoCompInput" role="textbox" aria-haspopup="true" size="50" autocomplete="off" aria-autocomplete="list" value = "@ViewBag.SearchInfo"/>
<a id= "autoCompSearch" href = "#" ><img src="@Url.Content("~/Content/Menu/Images/magnifier.png")" alt="Search" /></a>
(...)
Avec ce code, je ne peux pas utiliser la touche "Entrée" pour exécuter ma recherche. Lorsque l'utilisateur est dans l'entrée autoCompInput je voudrais être en mesure de détecter si il appuyer sur "entrée" et le lancement de la soumettre. J'ai lu, je dois ajouter une onkeyup="onKeyPressed(event)" événement, mais je ne comprends pas comment écrire le javascipt associés à la commande. J'ai essayé mais sans succès... avez-vous une solution pour moi?
Merci,
Aussi, je n'ai aucun problème pour afficher un message d'alerte. J'ai un problème à soumettre à ma recherche.
Vous devriez être en mesure d'utiliser la solution ci-dessous et remplacer le $("yourFormId").submit(); avec votre propre logique la fenêtre de ie.emplacement ...
Vous devriez être en mesure d'utiliser la solution ci-dessous et remplacer le $("yourFormId").submit(); avec votre propre logique la fenêtre de ie.emplacement ...
OriginalL'auteur Bastien Vandamme | 2012-06-05
Vous devez vous connecter pour publier un commentaire.
Vous devez lier l'événement keypress à votre entrée
OriginalL'auteur workoholic
Similaires HTML:
Ce script (qui utilise les dernières jQuery 1.7.2) devrait le faire:
Voici un exemple de travail.
OriginalL'auteur FishBasketGordo
Pour affecter un événement keyup en jquery
OriginalL'auteur Mayhem
Je pense qu'il y a de mieux et de plus de solution standard pour ce type de problème.
vous pouvez avoir un moyen de se former autour de ces apports et à chaque fois que vous appuyez sur entrée sur n'importe quelle entrée à l'intérieur de cette forme, il sera soumis à tout ce qui est dans l'attribut action du formulaire. C'est de cette façon qu'il pourrait ressembler (j'ai pris ton code, mais je suis de retirer les bits de pertinence pour ma réponse):
C'est le standard le comportement du navigateur. Ainsi, ce que le formulaire n'? lorsqu'il est soumis le navigateur crée une URL comme ceci:
http://yourserverguesedfromthecurrenturl/Search?criteria=someuserinput
Ce qui s'est passé est que le navigateur a pris toutes les entrées avec nom et la valeur (et non handicapées), de la forme et sérialisé dans l'url de la forme.
Maintenant, le soumettre événement peut être déclenché en appuyant sur entrée sur les entrées à l'intérieur, y compris les boutons aussi longtemps que les boutons n'ont pas l'attribut type="button".
Si vous vouliez faire plus de choses avec les données avec javascript avant d'aller à la page de recherche, vous pouvez le faire avec jquery:
OriginalL'auteur santiago arizti