Beim drücken der EINGABETASTE im Textfeld, wie kann ich den Fokus auf den submit-button mit Hilfe von JQuery?
Ich habe eine Seite mit mehreren Textfeldern und jeder hat eine Taste zugeordnet. Dies funktioniert so eine Suche nach 'hub', nehme ich an, wo kann der Benutzer die Suche nach ID, Namen, etc.
Wenn Sie einen Suchbegriff, z.B. den Namen jedoch, enter 'Klicks', die erste Schaltfläche auf der Seite (ID search), was zu einem Fehler, wenn das zugehörige Textfeld leer ist (was es wäre, wenn jemand meinte, um nach Namen zu suchen).
Habe ich versucht, dies zu korrigieren mit Hilfe von JQuery und habe Folgendes geschrieben:
$('input:text').click(function (e) {
e.preventDefault();
$(this).next('input:button').focus();
});
Ich bin einfach mit dem click-Ereignis, damit ich überwachen kann, wo der Fokus umgeleitet wird, aber irgendwann würde ich verwenden .keypress. Allerdings passiert nichts bei Klick auf ein Textfeld, und ich kann nicht sehen, für das Leben von mir, was falsch ist mit dem JQuery.
Jede Beratung würde sehr geschätzt werden!
Zu erarbeiten, das problem, die .NET-code verwendet, die der folgenden ähnelt in der gesamten Seite.
<tr>
<td style="width:100">Company ID</td>
<td style="margin-left:3px;">
<asp:TextBox ID="...TextBox" runat="server" Width="230px"></asp:TextBox>
</td>
<td>
<asp:Button CssClass="Button" ID="...NameSearch" Text="Search" runat="server" /></td></tr>
Dies ist das erzeugen (Quelltext anzeigen):
<td><input name="...TextBox" id="...TextBox" style="width: 230px;" type="text"/></td>
<td><input name="...NameSearch" class="Button" id="...NameSearch" onclick="javascript:__doPostBack('...NameSearch','')" type="button" value="Search"/></td>
- was macht Ihr HTML Aussehen?
- Ich sehe, Sie haben erwähnt, Sie können nicht der link zu der Website, aber es wäre noch sehr hilfreich, wenn du posten könntest einige HTML-mit deiner Frage - noch dummy-html-Code, der hat die richtige Struktur, die zeigen würde, nichts über Ihre Website.
- Ich Schätze, dass hab ich jetzt auch Hinzugefügt einige markup.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind diese submit-buttons? Wenn ja Klick auf eines legt die Daten für alle von Ihnen. Es klingt eher wie ein HTML-problem als jQuery. Könntest du link zu der Website?
Anstatt zu versuchen zu konzentrieren, die Taste, die Sie klicken möchten, brechen Sie die Anfrage Absenden, per textfield, und statt dessen Auslöser eine Schaltfläche anklicken, was Sie wollen.
Wenn Sie nur versuchen, um automatisch klicken Sie auf die Schaltfläche beim drücken der EINGABETASTE in das Textfeld ein, die Sie nicht brauchen, jquery, dies zu tun. Blick in die
DefaultButton
- Eigenschaft des asp-Panel-SteuerelementKönnen Sie nicht verwenden, next (), weil das Textfeld und der button sind nicht auf der gleichen Ebene in der DOM. Dein button hat eine ID, die Sie verwenden könnte, $('#...NameSearch').focus();
Ist dein submit-button den genauen nächsten Geschwister von der textbox? Wenn nicht, dann ist die
next()
Funktion ist nicht, was Sie wollen. Wenn es etwas gibt, was in der dom zwischen den beiden, die Sie verwenden können,nextAll()
zu finden, statt.Update
Nun, dass Sie Hinzugefügt haben, Ihre Auszeichnung zu der Frage, ich kann sehen, warum keine dieser next () - Funktionen arbeiten-Ihre Schaltfläche ist nicht ein Geschwister der textbox (denn Sie sind verpackt in separate Tabelle-Zellen).