2012-01-12 2 views
3

Когда я отправляю this form, я быстро получаю ошибку «объект не является функцией» (в Chrome), а форма отправляется. Какая у меня ошибка?Почему я получаю «объект не функция» в этой форме?

Я уверен, что это что-то глупое, но для меня жизнь я не понимаю, что здесь не так.

ответ

2

Другие ответы верны, но вы можете избежать всех этих проблем, используя jQuery более правильно.

Вместо встроенного JavaScript внутри тега формы, добавить идентификатор к форме, то есть такой код:

$(document).ready(function() { 
    $("#myform").bind("submit", validate); 
}); 

Форма должна теперь выглядеть следующим образом:

<form id="myform"> 

И не забудьте чтобы добавить return false; к самой функции, чтобы предотвратить подачу.

Внутри функции JS корректно обрабатывает validate как функцию - когда встроенный внутри тега формы, он смотрел сначала в элементах формы и нашел кнопку - следовательно, вы получили ошибку.

+0

хороший ответ - я бы определенно использовал привязку jQuery для встроенных функций. –

3

У вас есть функция 'validate' и кнопка отправки имеет идентификатор 'validate'. Измените один из них.

+0

Или он мог бы вытащить jQuery # – Myforwik

4

Я только что изменил ваше имя функции validate() на formVal(), и теперь он работает отлично - это потому, что у вас есть элемент с идентификатором validate.

Изменить имя функции для formVal() (или что-нибудь, кроме validate()), а затем изменить тэг формы, чтобы сказать это: «Действительно»

<form onSubmit='return formVal();'> 

Теперь придумывает говоря в теге заголовка ниже формы. Также нет ошибок.