Sumbit форма с клавишей Enter и поиск курсора - PullRequest
0 голосов
/ 16 мая 2009

У меня есть текстовое поле на моей странице, которое пользователь вводит для отправки. Однако я не хочу иметь кнопку отправки, а вместо этого я хочу прослушать нажатие клавиши Enter, чтобы отправить.

Дело в том, что на этой странице будет несколько текстовых полей, и я хочу отправить только текстовое поле, которое только что было набрано.

Я знаю, как узнать, какая клавиша была нажата с помощью jquery, но я думаю, что в моем сценарии мне нужно посмотреть, был ли курсор внутри определенного текстового поля. это правильно? если так, как это достигается с помощью jquery? В целом мой подход в порядке? или у меня обязательно должна быть кнопка отправки?

Кемь ...

1 Ответ

1 голос
/ 16 мая 2009

Пожалуйста, имейте в виду, что это считается плохой практикой; Вы не только собираетесь ограничить отправку только для людей с включенной JS, но и для людей, которые ожидают наличия кнопки отправки в своих формах. Так работает веб. правильный способ сделать это состоит в том, чтобы иметь форму для каждого из ваших текстовых полей.

Это, как говорится, если у вас был набор текстовых полей:

<input type='text' name='x1' class='onenter'>
<input type='text' name='x2' class='onenter'>
<input type='text' name='x3' class='onenter'>

Вы можете сделать это с помощью jQuery:

$(function() {
    $('input.onenter').keyup(function(e) {
        if(e.keyCode == 13) {
            // enter was pressed, do whatever
            // $(this) is the current textbox
        }
    });
});

«что угодно» может быть асинхронным запросом или фактической отправкой формы, в зависимости от ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...