ПредишенСледващото

Форми на уеб страници са доста често срещани. Това е една от най-често използваният начин за изпращане на някои данни към сървъра, независимо дали това е име / парола за достъп до личния си профил, или кошница от поръчки в онлайн магазина. Това е втория случай, а именно, от особеностите на изпращане на кошницата ще бъдат обсъдени.

Тя ще изглежда, че няма нищо трудно, направете стандартна форма с няколко входа на бутона, представи, както и всички случаи. Да приемем, че на дисплея на съдържанието на кода за кош като този:

Подаване на формуляри, образуват onsubmit - блог енкодер

Т.е. В момента има 4 позиции в поръчката с фиксирана сума. Всичко върви перфектно с едно натискане на бутона "Изпращане на поръчката". Но след това изведнъж се появиха проблем - не често, но е необходимо да се промени броя на елементите в реда. Какво прави обикновения потребител - задвижва изискван брой в полето за въвеждане и да натисне "Enter"! За мен такова поведение беше изненада, но както се оказа много много не се премести в друга позиция с "в раздела" или мишката, а именно здраво "влиза"! Това се дължи на наследството на Excel или нещо, но резултатът е, че току-що. Особеността на формите на дадена уеб страница, е, че когато натиснете "Enter", в типа на "входа" елемент е подложен на форма, съдържащи този елемент. Т.е. в случаите, когато потребителят би искал да се променят някои позиции той получава за изпращане на поръчката, като промяна на броя на само една позиция. По този начин не е полезен пръв поглед имота се превръща в по-неблагоприятно положение от време на време.

И изпращането има свои собствени характеристики. В brayuzerah Chrome и Safari изпращането на формуляра е винаги, когато натиснете "Enter" ключ. Браузърите Internet Explorer, Firefox и Opera, ако това се случи
а) Във формуляра има представя бутон, този, който е описан по-горе: , или негов графично представяне (тип = "образ") или
б) за Internet Explorer и Firefox под формата има само един вход с тип = "текст" или тип = "парола", Операта във формата трябва да бъде не повече от един от горните вход.

Как да се реши проблема? Просто махнете бутона за изпращане на формуляр ясно не работи, същата Chrome ще продължи да изпратите формуляра, за да "влиза", както и много потребители без бутоните не разбират как да изпратите поръчката. Хендлър Задание button.onclick представя бутон не работи, понеже формата може да бъде изпратен от "влиза".

Търсим изход? При подаване на изпращане на формуляр събитие за формата. Тя може да бъде причинено от document.forms [ "Име"]. Подайте () или document.forms.imya formy.submit (). В описанието на формата добавете onSubmit случай, тя е в маркера

, останалите, тъй като се оказа, може да доведе до грешки. Функцията за манипулатор е определен за onSubmit може да организира проверка на стойности или на изхода на всички съобщения по ваша преценка. В моя случай проверките не трябва да - аз трябва да просто не реагира на натискането на "Enter", защото ми запис е както следва: тоест, Форма просто не се изпраща. Е, с цел да се кош все още може да бъде изпратен (тя трябва да бъде по някакъв начин разпореждане за действие) на мястото на бутона за изпращане към нормален бутон: Функцията да се справят с натискането на един бутон: Той може да бъде допълнен отново с посланието, или контрол на параметрите, въведени от потребителя. Друг вариант за предотвратяване на тези въпроси - е добавянето на 2 контроли, като стрелките нагоре и надолу - за промяна на броя на позициите в този случай полето за въвеждане на е маркиран като само за четене, промяна на стойността от клавиатурата е невъзможно. Но това не винаги е удобно, когато големи количества в ред.

Подкрепете проекта - споделете линка, благодаря!