2012-05-06 7 views
1

Существует функция javascript, которая обычно вызывается через тег формы, используя onsubmit.Вызов функции javascript с помощью другого метода

В коде это выглядит следующим образом:

<form method="post" name="form1" id="form1" onsubmit="return validate(this)"> 

Если бы я собирался вызвать функцию Validate через какой-либо другой метод, какой переменный я бы передать его? Я имею в виду, «это» в вызове onsubmit, что бы я там поставил? Это будет идентификатор формы, так что «form1»?

+2

Что вы подразумеваете под «некоторым другим методом»? Кроме того, можете ли вы предоставить нам дополнительную информацию о функции проверки подлинности? –

ответ

2

this относится к элементу, тег создает, то есть форма элемент. Таким образом, вы могли бы назвать его:

validate(document.getElementById('form1'); 

Для получения дополнительной информации о событиях, проверить this introduction. Атрибут onsubmit, который вы используете, - inline event handler.

0

this в этом контексте является DOM элемент (форма)

Таким образом, вы должны использовать его как это:

var form = document.getElementById('form1'); 
validate(form); 
+0

, если не через кнопку отправки, вы всегда можете использовать form1.submit(); или быть более правильным document.getElementById ('form1'). submit(); – Frank

+0

@Frank. О чем ты говоришь? – gdoron

+0

Я говорю, может быть, он может просто вызвать его, когда он захочет это назвать. – Frank