Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2011, 11:21
Новичок на форуме
Отправить личное сообщение для chertjaga Посмотреть профиль Найти все сообщения от chertjaga
 
Регистрация: 26.04.2011
Сообщений: 2

не корректное поведение 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();// тут происходит ошибка
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2011, 12:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Не надо делать элемент с именем submit.
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2011, 12:06
Новичок на форуме
Отправить личное сообщение для chertjaga Посмотреть профиль Найти все сообщения от chertjaga
 
Регистрация: 26.04.2011
Сообщений: 2

имя элемента должно быть произвольным
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2011, 12:14
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну тогда сохраните ссылку на метод предварительно
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 проверьте, там может не заработать. А может и заработать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение переменной mycoding Серверные языки и технологии 4 14.01.2011 19:18
Cтранное поведение viktod Общие вопросы Javascript 23 10.04.2010 00:37
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16
Отменить поведение по умолчанию bool Общие вопросы Javascript 3 06.03.2009 16:59
Корректное округление вещественных чисел Бобр Общие вопросы Javascript 16 14.01.2009 18:21