По своему дизайну мне нужен вводимый элемент ввода текста, но мне не нужен вводимый элемент ввода submit. Я хочу отправить то, что написано в элементе ввода после нажатия клавиши ввода. Как бы я сделал это в JavaScript? Нужны ли мне теги и другие вещи или я могу сделать это без них (просто используя)?

2
Alex Polo 1 Июн 2010 в 13:36

3 ответа

Лучший ответ

По крайней мере, в Firefox нажатие клавиши ввода в элементе input[type=text] отправит его.

Проверьте это на JSBin.

Вам не нужно использовать JavaScript (может быть, в IE, не могу проверить это сейчас).

Также стоит упомянуть, что все формы должны иметь кнопку отправки. Вам нужно будет явно указать пользователю нажать Enter. Кроме того, как насчет устройств без кнопки ввода? Я слышал, что Zune не может отправлять формы без кнопки.

Некоторые люди говорят, что исключением является поле ввода поиска, как при переполнении стека. Тем не менее, я думаю, что он все еще мог бы извлечь выгоду из маленькой кнопки search или подобной.

2
alex 1 Июн 2010 в 09:39

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

function GetKeyCode(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    alert('Character was ' + character);
}

Однако большинство браузеров автоматически публикуют форму с помощью клавиши «Ввод».

0
Kangkan 1 Июн 2010 в 09:43

Вам не нужен какой-либо сценарий. У меня есть маленький крючок для вас

<form id="form" action="action.php" method="get">
    <input type="text" name="login" value="login" />
    <input type="submit" value="submit" style="display: none;" />
</form>

Style = "display: none;" это решение

1
Jekis 1 Июн 2010 в 09:44