Отправка формы только нажатием на кнопку

vladlen

Новичок
Отправка формы только нажатием на кнопку

Есть форма, отправляется так
<input name="print" type="submit" value="Сформировать документ">

Проблема в том, что форма отправляется по нажатии ENTER, а хочется чтобы отправлялась только при непосредственном нажатии на кнопку.
Такое возможно?
 

IBSN

Новичок
не в курсе возможно ли такое, но есть идея имхо, обрабатывай нажатие клавиши и игнорируй нужную...
 

lucas

Guest
А чем тредстартеру не угодила клавиша Enter?
Своей чрезмерной полезнотью для пользователя?
 

vladlen

Новичок
Поступил так
<body onKeyDown='if(event.keyCode==13){return false} '>

lucas
А чем тредстартеру не угодила клавиша Enter?
Своей чрезмерной полезнотью для пользователя?
После ввода в поле и нажатия ENTER происходит отправка формы. Это ненужно, тк возможно что пользователь заполнил не все поля. Форма сложная, проверка перед отправкой здесь неподходит. Вот поэтому хочется чтобы отправлялась только при непосредственном нажатии на кнопку.
 

MD

Guest
Автор оригинала: vladlen
Поступил так
<body onKeyDown='if(event.keyCode==13){return false} '>
оригинальное решение.
а когда тебя попросят добавить в форму элемент textarea, в котором пользователь должен иметь возможность нажать enter, что делать будешь?
продолжай думать дальше.
 

crocodile2u

http://vbolshov.org.ru
Такое решение, честно говоря, на решение не тянет.
Куда лучше перед сабмитом проводить валидацию формы с помощью Javascript. Юзер нажимает сабмит (без разницы, как :)), и если он не заполнил что-то из нужных полей, выскакивает алерт со словами "друже, заполни-ка для начала необходимые поля...".

PS: Есть замечательный пакет Pear - HTML_QuickForm (thanks to Sad Spirit - автор и гуру :)). Он все сделает за тебя (не Sad Spirit, конечно, а HTML_QuickForm), надо только включить проверку на стороне клиента...

http://pear.php.net/

PPS: тебе понадобится еще пакет HTML_Common
 

IBSN

Новичок
Автор оригинала: vladlen
Поступил так
<body onKeyDown='if(event.keyCode==13){return false} '>


После ввода в поле и нажатия ENTER происходит отправка формы. Это ненужно, тк возможно что пользователь заполнил не все поля. Форма сложная, проверка перед отправкой здесь неподходит. Вот поэтому хочется чтобы отправлялась только при непосредственном нажатии на кнопку.
событие у формы onsubmit тут проверяй а не на кнопке. ;)
 
Сверху