2014-01-20 3 views
0
<form method="POST" onsubmit="return false;"> 
... 
<input type="submit" name="button" value="Login" onclick="require('file.js').submitForm(this.form);"> 
... 
</form> 

Как я могу вызвать событие onclick этого элемента INPUT (чтобы он мог отправить форму) в Internet Explorer 9 с помощью javascript? Я пробовал:Запуск события onclick ввода/формы

document.getElementsByName("button")[0].click() 

и

document.getElementsByName("button")[0].onclick() 

но ни работы.

(document.getElementsByName ("кнопка"). Длина = 1)

+0

Вы получаете какие-либо ошибки? вы уверены, что это первая кнопка в форме? можете ли вы добавить идентификатор к кнопке и получить элемент по ID? – Goose

+0

[fireEvent MSDN] (http://msdn.microsoft.com/en-us/library/ie/ms536423 (v = vs.85) .aspx) – Givi

+0

Нет, у меня не было видимых ошибок, но я знаю, что был неправильным - форма не отправилась, если я оставил некоторые поля пустыми. Когда я поставлю правильные значения в полях, которые он отправил правильно, используя метод click(). – Kossak

ответ

0

вы можете использовать

document.getElementsByTagName("form").submit(); 

и событие щелчка вы можете использовать этот

element = document.getElementsByName("button")[0] 
if (typeof element.onclick == "function") { 
    element.onclick.apply(element); 
} 
0

Глядя за пределы Поверхность вашего вопроса, я считаю, что вы пытаетесь вызвать сообщение формы и обрабатывать представление с помощью некоторой клиентской логики.

Код, который вы запретили отправку формы из-за «return false;». Когда кнопка нажата, это вызовет событие отправки, которое заблокировано. Итак, как вы знаете, что кнопка запускается или нет, зная, что результаты одинаковы?

Для более простой логики кодирования поместите вызов JavaScript в тег формы или кнопку, но не оба. Мой совет - оставить кнопку. type = "submit" означает, что он отправит форму. Сама форма имеет функцию JavaScript, которая решает, отправлять или нет.

<form method="POST" onsubmit="return prepost();"> 
... 
<input type="submit" value="Submit"> 
</form> 

<script> 
function prepost(){ 

    // if the form needs to be stopped 
    return false; 


    // if the form needs to be posted 
    return true; 

} 
</script> 
0

Ответ: Форма не отправлена, если я оставил некоторые поля пустыми. Когда я помещаю правильные значения в правильные поля, они отправляются правильно, используя метод click(). Спасибо всем за ответы.

Смежные вопросы