Javascript.RU

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

Отправка определенной формы
имеется вот такая страница с тремя формами

<form method="get" action="">
<input type="hidden" name="cmd" value="getUserArmy" />
<input type="hidden" name="usb" value="4" />
<input type="hidden" name="show" value="2" />
<input class="submit" style="width: 100px" type="submit" value="Заказать" name="creat4" /> <input class="submit" style="width: 40px" type="text" value="14" name="how" /> / 14 <input type="hidden" name="uid" value="849589B8-8B93-44E4-940E-AE014E3BF0AE" />
</form>
<form method="get" action="">
<input type="hidden" name="cmd" value="getUserArmy" />
<input type="hidden" name="usb" value="5" />
<input type="hidden" name="show" value="2" />
<input class="submit" style="width: 100px" type="submit" value="Заказать" name="creat5" /> <input class="submit" style="width: 40px" type="text" value="10" name="how" /> / 10 <input type="hidden" name="uid" value="849589B8-8B93-44E4-940E-AE014E3BF0AE" />
</form>
<form method="get" action="">
<input type="hidden" name="cmd" value="getUserArmy" />
<input type="hidden" name="usb" value="6" />
<input type="hidden" name="show" value="2" />
<input class="submit" style="width: 100px" type="submit" value="Заказать" name="creat6" /> <input class="submit" style="width: 40px" type="text" value="14" name="how" /> / 14 <input type="hidden" name="uid" value="849589B8-8B93-44E4-940E-AE014E3BF0AE" />
</form>


формы уже заполнены,подскажите как правильно отправить любую(одну) из них из js скрипта
document.forms.submit();
не работает
document.getElementById("creat5").submit();
тоже не работает
что я упустила из виду?
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2013, 13:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от roza
document.forms.submit();
не работает
Потому как forms это "коллекция" форм...

Укажи индекс нужной формы и будет тебе счастие.

Сообщение от roza
document.getElementById("creat5").submit();
тоже не работает
Потому как у тебя нет элементов с таким ИД...

Присвой формам ИД и будет тебе счастие.
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2013, 17:30
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

спасибо за подсказку,но я не знаю откуда брать эти индексы,кроме варианта заново перезаполнить все (уже заполненные)формы с приданием нужных индексов.Это слишком сложное решение,т.к. я всего лишь 3 формы написала,в реале их гораздо больше.
у каждой присланной формы есть готовая кнопка отправки

<input class="submit" style="width: 100px" type="submit" value="Заказать" name="creat4" />


отличаютя они всего лишь именем name="creat4","creat5",...,"creat1000"

подскажите есть возможность отправлять при помощи имени кнопки
тупо используя клик на эту форму

и как это будет работать,если внутри добавится чекбокс например:

</form>
<form method="get" action="">
<input type="hidden" name="cmd" value="getUserArmy" />
<input type="hidden" name="usb" value="6" />
<input type="hidden" name="show" value="2" />
<input type="checkbox" name="bbb"> бронь
<input type="checkbox" name="aaa"> выкуп
<input class="submit" style="width: 100px" type="submit" value="Заказать" name="creat6" /> <input class="submit" style="width: 40px" type="text" value="14" name="how" /> / 14 <input type="hidden" name="uid" value="849589B8-8B93-44E4-940E-AE014E3BF0AE" />
</form>


// ==UserScript==
// @name           My Script
// @description    A brief description of your script
// @author         Your Name
// @include        [url]http://*[/url]
// @version        1.0
// ==/UserScript==
document.getElementsByName('aaa')[0].checked =true;
document.getElementsByName('how')[0].value =14;
document.forms[0].submit()


заполняется всё,но не отправляется на сайт,где ошибка?

Последний раз редактировалось roza, 24.10.2013 в 19:15.
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2013, 19:21
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

помогите дописать
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2013, 22:10
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

// ==UserScript==
// @name           My Script
// @description    A brief description of your script
// @author         Your Name
// @include        [url]http://*[/url]
// @version        1.0
// ==/UserScript==
document.getElementsByName('aaa')[0].checked =true;
document.getElementsByName('how')[0].value =14;
setTimeout(function() {document.getElementsByName("creat6")[0].submit()},2000);

не получается отправлять форму,весь интернет перерыла,не пойму что мешает отправке
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2013, 23:18
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

ksa,
А как присвоить формам ид через userscript?
Ответить с цитированием
  #7 (permalink)  
Старый 25.10.2013, 03:29
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

document.forms[0].submit()
всё таки отправляет форму самую первую,вот только результат в командной строке отличается.Не хватает creat6 и Заказать
получается:
/?cmd=getUserArmy&usb=4&show=2&how=14&uid=849589B8-8B93-44E4-940E-AE014E3BF0AE
А должно быть(при нажатии Enter или мыши)
/?cmd=getUserArmy&usb=4&show=2&creat4=Заказа ь&how=14&uid=849589B8-8B93-44E4-940E-AE014E3BF0AE

кто нибудь знает верное решение?Тут наверняка используется name submit,только я не пойму где я ошибаюсь
Ответить с цитированием
  #8 (permalink)  
Старый 27.10.2013, 18:32
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

document.getElementsByName('aaa')[0].checked = true;
setTimeout(function(){document.getElementsByName(' name')[0].click()},2000);
вот так вот работает
Ответить с цитированием
  #9 (permalink)  
Старый 27.10.2013, 19:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от roza
document.getElementsByName('how')[0].value =14;
Не 'how', а 'show'. Как можно быть такой растяпой?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 27.10.2013, 22:06
Интересующийся
Отправить личное сообщение для roza Посмотреть профиль Найти все сообщения от roza
 
Регистрация: 15.09.2013
Сообщений: 28

Сообщение от danik.js Посмотреть сообщение
Не 'how', а 'show'. Как можно быть такой растяпой?
как раз таки у меня всё правильно написано для заполнения формы,это вы невнимательно посмотрели на hidden там действительно есть show,но в данном случае оно не требуется.

Хотя вы правы я динозавр в программировании,но невнимательностью не страдаю и пусть я несколько дней потратила на решение простенькой задачки,зато самостоятельно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка данных формы AJAX`ом? Jopses jQuery 4 20.02.2013 12:34
Отправка формы по onchange инпута SuperZALMAN jQuery 6 09.02.2013 20:32
Отправка формы по нажатию на ENTER Vuzy Общие вопросы Javascript 9 24.01.2013 23:36
Отправка формы с помощью XMLHttpRequest2 и FormData pav jQuery 3 05.10.2011 10:16
Отправка из формы в форму.. gJam Элементы интерфейса 5 21.07.2011 11:42