2014-12-07 3 views
0

Я столкнулся с совершенно странным поведением Chrome. Ниже приведен кодChrome - как подать по javascript форму с именем ввода = отправить?

<form method="post" id="form" accept-charset="UTF-8" action="/lalala"> 
<input type="submit" /> 
<input type="text" name="submit" value="Post this" /> 
</form> 

<script> 
    setTimeout(function(){ 
     var forma = document.getElementById("form"); 
     console.log(forma.submit); 
     forma.submit(); 
    },30000); 
</script> 

печатает в Chrome отладки окна

<input type="text" name="submit" value="Post this"> 
Uncaught TypeError: object is not a function 

т.е. document.getElementById ("форма"). Представить это вход, но не подавать обратный вызов !!

Можно ли отправить эту форму, сохранив входное имя = отправить?

+0

Попробуйте 'document.forms [ "форма"] представить()' – Rhumborl

+0

же ошибка ... , – zzmaster

ответ

1

Можно ли отправить эту форму в поле ввода ввода = отправить?

Я считаю, что ответ НЕТ.

Я столкнулся с совершенно странным поведением Chrome.

Я мог бы найти проблему в Firefox тоже.

Момент, когда вы используете ключевое слово submit либо как name или id элемента в пределах form, то form.submit превращается в к object со ссылкой на соответствующий узел вместо function к submitform.

Пожалуйста сошлитесь JSFiddle

<form method="post" id="form" accept-charset="UTF-8" action="/lalala"> 
    <input type="submit" /> 
    <input type="text" name="submit" value="Post this" /> 
</form> 


var form = document.getElementById("form"); 
console.log(typeof form.submit); 
0

OK Я нашел решение:

<input id="submit" type="submit" /> 
<script> 
var button = document.getElementById("submit"); 
button.click(); 
</script> 
Смежные вопросы