Android и HTML5 ввода чисел AutoSubmit Поведение - PullRequest
0 голосов
/ 29 октября 2011

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

, например

<form method="GET">
    <input type="hidden" id="ProductCode" value="12345" />
    Enter zip: <input type="number" id="ZipCode" />
</form>

Текущее поведение, по-видимому, недостаточно очевидно:

<script>
$(document).ready(function() {
    $('#ZipCode').keyup(function() {
        if($(this).val().length == 5) {
            $(this).closest('form').submit();
        }
    });
    $('#ZipCode').focus(function() {
        $(this).val('');
    });
});
</script>

В идеале я хотел бы, чтобы форма автоматически отправлялась, когда клавиша ввода закрыта, или (если возможно), когда программная клавиатура закрыта пользователем. Есть ли способ сделать это с помощью JavaScript в браузере Android?

Ответы [ 2 ]

0 голосов
/ 29 октября 2011

Поместите кнопку отправки в форму, и ключ ввода отправит форму естественным образом.

<form method="GET">
    <input type="hidden" id="ProductCode" value="12345" />
    Enter zip: <input type="number" id="ZipCode" />
    <input type="submit" value="submit" style="visibility: hidden" /> 
</form>

Если вам нужно подтвердить привязку к событию отправки формы и выполнить там необходимую проверку.

$('form').submit(function() {
    var invalid = $('#ZipCode').val().length !== 5;
    if(invalid)
        return false
});
0 голосов
/ 29 октября 2011

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

<form method="GET">
    <input type="hidden" id="ProductCode" value="12345" />
    Enter zip: <input type="number" id="ZipCode" />
    <button type="submit" style="display:none">
</form>

Вы можете использовать $("form").submit(function(){ // run when form is submitted }) для реализации кода отправки.

...