Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выбор кнопки в форме (https://javascript.ru/forum/dom-window/53798-vybor-knopki-v-forme.html)

roza 18.02.2015 15:24

Выбор кнопки в форме
 
Есть вот такой код на странице форма с 2-мя кнопками
<form action="" method="POST">
			<input type="hidden" name = "enemy" value="36"/>
			<input type="submit" value="Выбрать" name="battle" title="Выбрать" />  <input type="button" value="Обновить" onclick="location.reload();"/>
		</form>

необходимо нажать на кнопку "Выбрать"

setTimeout(function(){document.getElementsByName('battle')[0].click},1000);

так не работает,помогите разобраться как это реализовать

ksa 18.02.2015 15:28

Цитата:

Сообщение от roza
помогите разобраться как это реализовать

Просто выполнить метод формы

objForm.submit();

ksa 18.02.2015 15:29

Цитата:

Сообщение от roza
document.getElementsByName('battle')[0].click

Такого свойства (click) у элемента нет. :no:

ksa 18.02.2015 15:32

Типа пример...

<!DOCTYPE html>
<html ng-app>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
window.onload=function(){
	setTimeout(function(){
		document.getElementsByName('battle')[0].parentNode.submit();
	},1000);
};
</script>
</head>
<body> 
<form action="" method="POST">
	<input type="hidden" name = "enemy" value="36"/>
	<input type="submit" value="Выбрать" name="battle" title="Выбрать" />  
	<input type="button" value="Обновить" onclick="location.reload();"/>
</form>
</body>
</html>

roza 18.02.2015 15:40

не работает,я пробовала до этого

setTimeout(function(){document.forms[0].submit()},400);


не работало,где мне можно почитать в чем причина?Если вас не затруднит

ksa 18.02.2015 16:08

roza,
Цитата:

Сообщение от roza
я пробовала до этого
setTimeout(function(){document.forms[0].submit()},400);

не работало

Смотря как пробовала... ;)

<!DOCTYPE html>
<html ng-app>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
window.onload=function(){
	setTimeout(function(){
		document.forms[0].submit();
	},1000);
};
</script>
</head>
<body> 
<form action="" method="POST">
	<input type="hidden" name = "enemy" value="36"/>
	<input type="submit" value="Выбрать" name="battle" title="Выбрать" />  
	<input type="button" value="Обновить" onclick="location.reload();"/>
</form>
</body>
</html>

Все работает... :)

roza 18.02.2015 16:18

А нет не работает правильно ни в каком варианте,нажимает вторую кнопку
или просто обновляет страницу не понятно

ksa 18.02.2015 18:54

roza, мои примеры все работающие. Смотрел в Опере...

roza 18.02.2015 22:13

// ==/UserScript==
window.onload=function(){ setTimeout(function(){document.getElementsByName('battle')[0].parentNode.submit()},1000);};

Вот так вот вообще ничего не происходит

// ==/UserScript==
setTimeout(function(){document.getElementsByName('battle')[0].parentNode.submit()},1000);


А вот так происходит просто обновление страницы или же форма отправляется по второй кнопке(не пойму)

Нужно же что бы клик по первой кнопке был.

ksa 18.02.2015 22:17

Цитата:

Сообщение от roza
Вот так вот вообще ничего не происходит

А, что в твоем примере должно "поизойти" визуального? :)

Я для теста добавлял простой инпут, вводил в него данные, а потом страница обновлялась и инпут был пуст.


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