Что нового

[Ошибки] Почему не везде работает _IEFormSumbit($s_Obj)?!

Trans

Знающий
Сообщения
257
Репутация
6
Ребят, подскажите пожалуйста, почему в этой форме, не работает функция _IEFormSumbit($oIE)
Код:
<form method="post" action="svpvpact.php">
<input type="hidden" name="ID" value="8470985">
<div>
<input type="text" name="opp_name" class="do_button">

<input type="submit" name="Submit" value="В бой!" class="button">
</div>
</form>

Может, я что-то не правильно делаю...
Код:
$PVPForm=_IEFormGetCollection($oIE,0)
	$PVPTargetName =_IEFormElementGetObjByName($PVPForm, "opp_name")
	_IEFormElementSetValue($PVPTargetName, GUICtrlRead($PVPTarget))
	_IEFormSubmit($oIE)

Поле заполняется, а кнопка не нажимается:(
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
_IEFormSubmit($PVPForm)
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Garrett
Не работает ваш пример...
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Trans [?]
А так? (IE8)
Код:
;...
$oForm = _IEFormGetCollection($oIE, 0)
$oName = _IEFormElementGetObjByName($oForm, 'opp_name')
_IEFormElementSetValue($oName, 'Test')
$oSubmit = _IEFormElementGetObjByName($oForm, 'Submit')
_IEAction($oSubmit, 'click')
_IELoadWait($oIE)
;...
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
madmasles
Так работает, но возникает вопрос, почему _IEFormSumbit() не работает, в некоторых формах работает, а в некоторых нет...
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Trans [?]
в некоторых формах работает, а в некоторых нет
Я очень плохо знаю HTML, вернее совсем не знаю, но, ИМХО, это зависит или от прописанных свойств формы, или от стилей, или еще от чего-нибудь.
При написании скрипта это можно проверить и использовать рабочий способ.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Trans [?]
почему _IEFormSumbit() не работает, в некоторых формах работает, а в некоторых нет
А почему вы не привели полный код HTML страницы, а привели только то, что, по вашему мнению, может помочь коллегам разобраться в вашей проблеме? ;)
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Garrett [?]
А почему вы не привели полный код HTML страницы
Могу и весь HTML код страницы дать... разве это может как-то повлиять?
Код:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="200" />
<title>WAP Game - World of the Rest</title>
<link rel="stylesheet" type="text/css" href="style99.css"/>
</head>
<body><div class="menu" align="center">Свиток нападения</div><div class="chat"><img src="img/st_upgrade.gif" alt="Уровень" title="Уровень" border="0" /> <span class="svet">24</span> [30%] <img src="img/rubin.gif" border="0" /> 101.53 <img src="img/money.gif" alt="WR" title="WR" border="0" /> 7223 <img src="img/clock.gif" alt="Время" title="Время" border="0" /> 13:57</div><div class="chat"><span class="chat_txt">Чат:</span> <a href="chat.php?uni=1319450254">общий</a>, <a href="/wap/svpvp.php?ID=13774348&chatmode=my">мой</a>, <a href="/wap/svpvp.php?ID=13774348&chatmode=add">написать</a></div><div class="cont">

 <a href="main.php?uni=1319450254">Главное меню</a>
 <a href="game.php?uni=1319450254">Ваш персонаж</a>
 <a href="inventar.php?uni=1319450254">Инвентарь</a>
</div>
<form method="post" action="svpvpact.php">
<input type="hidden" name="ID" value="13774348">
<div>
<input type="text" name="opp_name" class="do_button">

<input type="submit" name="Submit" value="В бой!" class="button">
</div>
</form>
<div class="foot">©WoR 2011 [<a href="exit.php"> Выход </a>]
</div>

</body>
</html>
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Trans [?]
Могу и весь HTML код страницы
Спасибо. Так лучше видно картину происходящего.

но возникает вопрос, почему _IEFormSumbit() не работает, в некоторых формах работает, а в некоторых нет
Потому что <input type="submit" name="Submit" value="В бой!" class="button">.
Если в атрибуте name убрать или добавить одну букву, всё будет работать.
По какой причине это происходит, я затрудняюсь сказать, но могу предположить, что всё же лучше не давать элементу <input type="submit" имя name="Submit", видимо браузер не понимает, что от него хотят.
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Garrett
В принципе всё понял из-за чего может происходить такая проблема...

Ответ получен - Тема решена
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Хоть тема и решена, но всё задам ещё один вопрос, относящийся к теме... (не хочется флудить темами)
как выполнить нажатие такой кнопки в IE
Код:
<input type="submit" value="Сохранить" class="do_button">
Методы указанные выше не помогают...
( _IEFormSubmit($oIE) и _IEAction($oSubmit, 'click'))
 

axlwor

Скриптер
Сообщения
657
Репутация
147
лучше начни новую тему. это будет не флуд


Код:
#include <IE.au3> 
_IEFormSubmit ( ByRef $o_object [, $f_wait = 1] )

Параметры
$:shok:bject объект Form
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Trans [?]
Вот я Олень
laugh.gif
А главное, вот она внимательность!
 

darkwhite

Знающий
Сообщения
129
Репутация
5
OffTopic:
не совсем в тему но все таки спрошу)

А где можно найти инфу по объекту form и в принципе по другим. таким как Links...
 

axlwor

Скриптер
Сообщения
657
Репутация
147
я смогу использовать объекты .net в autoit? покажи как
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
axlwor [?]
scrollTop Property
.NET Framework 3.0
Sets or retrieves the distance between the top of the object and the topmost portion of the content currently visible in the window.

Код:
#include <IE.au3>
$oIE = _IECreate('http://mr-garrett.narod.ru/test.html')
$oElemrnt = _IEGetObjById($oIE, 'oDiv')
$oElemrnt.scrollTop = 30

Кликнув по текстовому полю, на странице вы убедитесь в том, что мы выставили scrollTop на 30 pixel
 
Верх