Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Не получаеться засабмитить FORM


Автор: KOp4iK 13.12.2007, 18:28
Доброго всем времени суток!
Есть код:
Код

<html>
<head>
    <meta http-equiv=Content-Type content="text/html; charset=UTF-8" />
    <title>Form test</title>
</head>
<body>
    <form name="viewList" method="get" action="testformresult.html">
        <table>
            <tr>
                <td width="30%">Логин:</td>
                <td>
                    <input type="text" name="userName" maxlength="9" value="">
                </td>
            </tr>
            <tr>
                <td width="30%">Ник:</td>
                <td>
                    <!--<input type="text" name="nick" maxlength="9" value="">-->
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

Если сейчас ввести любую инфу в поле и нажать Enter, то сабмит произойдёт, если же разкомментировать строчку
Код

<!--<input type="text" name="nick" maxlength="9" value="">-->

, то сколько Enter не нажимай ничего не работает...
 smile  Плз хелп - совсем замучался  smile 

Автор: KOp4iK 14.12.2007, 12:26
Ну чтож, а теперь послушаем правильный ответ.  smile 
У меня получился вот такой вот workarround:
Код

<script language="JavaScript">
    function submitViaEnter(evt)
    {
        evt = (evt) ? evt : event;
        var target = (evt.target) ? evt.target : evt.srcElement;
        var form = target.form;
        var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
        if (charCode == 13)
        {
            form.submit();
            return false;
        }
        return true;
    }
</script>

All greetings goes to: Д. Гудман "JavaScript и DHTML Сборник рецептов" для профессионалов. Питер 2004.

Ну и добавление на каждое поле типа:
Код

<input type="text" name="nick" maxlength="9" value="" onkeypress="return submitViaEnter(event)">


Мож у кого какие замечания? Так всегда WELCOME! smile 

Автор: szz 24.12.2007, 05:35
Есть одно замечание.
Нездоровый workaround. И сама проблема нездоровая... 
должно работать и так!
Но действительно не работает.

Но я нашел другой, более здоровый wo - добавить спрятанную субмит-кнопку:
Код
<input type=submit style="display:none;">

и все, субмитит на ентер.

Почему это решение здоровее - думаю вполне очевидно ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)