Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Достать данные из HTML-Форм Добавлено: 09.01.06 18:46  

Автор вопроса:  astoro | ICQ: 649109 
Есть файл HTML, созданный например в Microsoft Word.
В этом файле есть обычный текст с разным форматированием плюс текстбоксы и чекбоксы (для примера).

Я кидаю на VB форму WebBrowser и открываю эту страницу.
Ввожу данные в текстбоксы, отмечаю чекбоксы.

Как мне эти данные по нажатию кнопки на VB форме (или можно даже по нажатию кнопки на самой HTML-странице, но лучше на VB форме) получить в программу?

Ответить

  Ответы Всего ответов: 22  

Номер ответа: 1
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #1 Добавлено: 09.01.06 19:24
Немного дополнительной информации.
По видимому, достать сию информацию по нажатию кнопки на VB форме невозможно, по крайней мере - по простому.
Если доставать данные по нажатию кнопки, расположенной на самой HTML-странице, то значить нужно использовать VBScript.

Я в языках HTML, VBScript и прочих других, кроме VB6 ни ухом ни рылом. Если можно, для тех кто захочет и сможет ответить, - напишите коротенкий пример, с двумя текстбоксами. Или ссылку на пример.

Ответить

Номер ответа: 2
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #2 Добавлено: 09.01.06 19:49
Option Explicit

Private Sub Form_Load()
  WebBrowser1.Navigate "c:\1.htm"
End Sub

Private Sub Command1_Click()
  Dim p As IHTMLDocument2, c As IHTMLElementCollection
  
  With WebBrowser1.Document.body.All.tags("INPUT";)
    MsgBox .Item("textbox1";).Value
    MsgBox .Item("textbox2";).Value
  End With
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 09.01.06 19:50
Переменные p и c убрать. Остались случайно, нафиг не нужны.

Ответить

Номер ответа: 4
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #4 Добавлено: 09.01.06 20:07
Пишет
Object variable or With block variable not set
на первом MsgBox

Имена объектов на HTML-странице совпадают (TextBox1 и TextBox2)
Наверна - проблема с INPUT.

Кстати, свойства Body у Document не появляется и вообще, у Document ни одного свойства или метода не появляется.

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 10.01.06 05:16
Разумеется, нужно подождать, пока прогрузится документ.
И разумеется, это работает, если элементы управления созданы тёгами <input>.

Ответить

Номер ответа: 6
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #6 Добавлено: 10.01.06 06:06
к сожалению, слово тег для меня малознакомо.
Я сделал страницу в Ворде, как мне сделать там элементы управления с тегом input?
или может быть воспользоваться другим редактором?
Каким, и как это сделать в нем?

Ответить

Номер ответа: 7
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 10.01.06 23:37
господи, тот хтмл пол часа учить, го в инет качай любой справочник и будешь знать шо такое тег, и не толко :)

Тег - карлючка, как правело на стене, обозначающая чей-то автограф... ну это у графитчиков :) у программеров же это ... ну типа бэ <b>тра-ля-ля</b> так вот "<b>" - и есть тег, ну шобы траляля жырное было :)

Шо б не баян:
Оригинальная идея, открыть 80-ый, и экшен у формы на себя 127.0.0.1 сделать :) а патом разбирать http пакет :) А шо, кто тут ищет лёгкие пути, а?! :))

Ответить

Номер ответа: 8
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #8 Добавлено: 11.01.06 06:14
Спасибо HACKER и спасибо GSERG
Вчера чета у меня глючило - к VBNET не мог подлючится, и не мог написать
Справочник скачал, слово "ТЕГ" стало ближе.

Ворд свои объеты создает с тегом Object.

Все теперь ясно.

Ответить

Номер ответа: 9
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #9 Добавлено: 11.01.06 16:23
Продолжение вопроса.
Уважаемые гуру:

Код HTML-страницы:
Форма 1
<P>

<FORM
METHOD="POST" ACTION="/cgi-bin/post-query">

Имя: <INPUT
NAME="entry1">
<P>

Постинг: <INPUT
NAME="entry2">

<P>

Нажми: <INPUT
TYPE="submit" VALUE="Запостить постинг">
<P>

</FORM>
:Конец кода HTML страницы

После ввода данных в первое поле 111 во второе поле 222, при нажатии пользоватлем на кнопку в браузер передается строка (это я понял из документации, вроде правильно понял, поправте если что...)
/cgi-bin/post-query?entry1=111&entry2=222

можно эту строку в программу получить?
или хотя бы ?entry1=111&entry2=222
или вообще эти данные в другом каком-нибудь формате?

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 11.01.06 16:37
<FORM METHOD="POST" ACTION="/cgi-bin/post-query">
Имя: <INPUT NAME="[U]entry1[/U]"><br>
Постинг: <INPUT NAME="[U]entry2[/U]"><br>
<INPUT TYPE="submit" VALUE="Запостить постинг"><br>
</FORM>


<?php
print $entry1."\r\n";
print $entry2."\r\n";
?>

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 11.01.06 16:39
та ёпты! хотел подчеркнуть, так в коде ж неработают теги эти, а зря блин!

<FORM METHOD="POST" ACTION="/cgi-bin/post-query">
Имя: <INPUT NAME="entry1"><br>
Постинг: <INPUT NAME="entry2"><br>
<INPUT TYPE="submit" VALUE="Запостить постинг"><br>
</FORM>

Ответить

Номер ответа: 12
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #12
Добавлено: 11.01.06 16:52
Если WebBrowser испоьзуешь, то лови событие BeforeNavigate2 и смотри
там URL. Если я правильно понял задачу.

Ответить

Номер ответа: 13
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #13
Добавлено: 11.01.06 16:52
так в коде ж неработают теги эти, а зря блин!


Ну почему зря? Наоборот специально отключили, когда в таком коде они
начинали глючить:

for (i = 0; i < 10; i++)
{
  arr *= 2;
}

Ответить

Номер ответа: 14
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #14
Добавлено: 11.01.06 17:04
Ну вот видишь, сглючили :) А вот так не глючат:

for (i = 0; i < 10; i++)
{
  arr[i] *= 2;
}

Ответить

Номер ответа: 15
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #15 Добавлено: 11.01.06 17:09
for (i = 0; i < 10; i++)
{
  arr *= 2;
}

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам