Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не корректное поведение form.submit(); (https://javascript.ru/forum/misc/16873-ne-korrektnoe-povedenie-form-submit-%3B.html)

chertjaga 26.04.2011 11:21

не корректное поведение form.submit();
 
Создается с помощью JavaScript форма и задаются параметры actions, method и тд.
Далее создаем новый элемент, который имеет следующий вид <input name="submit" value="value" type="hidden" /> , и вставляем его в текущую форму.
Далее пытаемся отправить форму, способом form.submit(); и не выходит, сообщение об ошибке, "Такой метод не существует". Это происходит только если вставляется тег input с атрибутом name="submit".

var form = document.createElement('form');
form.action = '';
form.method = 'POST';
document.body.appendChild(form);

var sub =  document.createElement('input');
sub.name = 'submit';// !!!!!!!!!!!!!!!!!!!!
sub.valeu = 'value';
sub.type = 'hidden';
form.appendChild(sub);

form.submit();// тут происходит ошибка

Kolyaj 26.04.2011 12:03

Не надо делать элемент с именем submit.

chertjaga 26.04.2011 12:06

имя элемента должно быть произвольным

Kolyaj 26.04.2011 12:14

Ну тогда сохраните ссылку на метод предварительно
var form = document.createElement('form');
form.action = '';
form.method = 'POST';
document.body.appendChild(form);
var submit = form.submit;
 
var sub =  document.createElement('input');
sub.name = 'submit';// !!!!!!!!!!!!!!!!!!!!
sub.valeu = 'value';
sub.type = 'hidden';
form.appendChild(sub);
 
submit.call(form);


Только в IE проверьте, там может не заработать. А может и заработать.


Часовой пояс GMT +3, время: 00:13.