簡體   English   中英

使用 VB.NET 在網頁文本字段上以編程方式觸發 Javascript 事件

[英]Programmatically firing a Javascript event on a webpage text field using VB.NET

我目前正在使用 VB.NET 中的內置 WebBrowser 控件來填寫網頁上的表單。 該表單有一個必填的文本字段,特別是給我帶來了麻煩。 文本字段旨在接受 4 位數的年份,然后對其執行驗證以確保輸入的值格式正確。

我能夠以編程方式在文本字段中輸入一年就好了。 但是,該表單之后永遠不會驗證該字段,因此將不允許提交該表單。 我知道表單本身是有效的,因為我可以填寫它並手動提交它就好了。

根據 Internet Explorer 中的開發人員工具,我在現場看到的唯一事件是“更改”。 通常,我會使用下面的行來觸發 VB.NET 中的“change”事件,但是我得到了一個異常,表明 change 事件不存在:

fMain.w1.Document.GetElementById("Sections[0].Year").RaiseEvent("change")

文本字段本身的代碼如下。

<input name="Sections[0].Year" tabindex="1" title="Year" class="required number digits numbers-only bind-x" style="width: 50px;" type="text" value="1924" data-metadata="{'validate':{'required':true,'number':true,'dynamic':['range',$abc.building_edit.yearRange],'digits':true,'messages':{'dynamic':$.validator.messages.range}}}" data-sectionnum="1" value="1924"></input>

我對 Javascript 不太熟悉,所以我不知道我是否找對了地方,或者我是否提供了足夠的信息來幫助您,但是您可以提供的任何信息至少可以讓我了解正確的軌道將不勝感激。

您可以嘗試使用onchange事件名稱:

fMain.w1.Document.GetElementById("Sections[0].Year").RaiseEvent("onchange")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM