2016-05-04 6 views
1

Ich verwende derzeit das integrierte WebBrowser-Steuerelement in VB.NET, um ein Formular auf einer Webseite auszufüllen. Das Formular hat vor allem ein Pflichtfeld, das mir Probleme bereitet. Das Textfeld soll ein 4-stelliges Jahr akzeptieren und dann eine Validierung durchführen, um sicherzustellen, dass der eingegebene Wert im richtigen Format ist.Programmgesteuertes Auslösen eines Javascript-Ereignisses auf einer Webseite Textfeld mit VB.NET

Ich bin in der Lage, programmatisch ein Jahr in das Textfeld eingeben, gut. Das Formular validiert das Feld jedoch später nicht und lässt daher das Senden des Formulars nicht zu. Ich weiß, dass das Formular selbst funktioniert, da ich in der Lage bin, es auszufüllen und manuell gut zu übermitteln.

Laut den Entwicklertools im Internet Explorer ist das einzige Ereignis, das ich auf dem Feld sehe, "change". Normalerweise würde ich die Linie unten verwenden, um die „change“ -Ereignis in VB.NET zu feuern, aber stattdessen ich eine Ausnahme erhalten das Änderungsereignis anzeigt, existiert nicht:

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

Der Code für das Textfeld selbst ist unterhalb.

<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> 

Ich bin nicht so vertraut mit Javascript, damit ich weiß nicht, ob ich noch an der richtigen Stelle suchen oder wenn ich die Bereitstellung genügend Informationen für Sie zu helfen, aber alle Informationen, können Sie geben zumindest mich auf die richtige Spur zu bringen wäre sehr zu schätzen.

Antwort

0

Sie können mit onchange Ereignisnamen versuchen:

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

Vielen Dank für Ihre Eingabe. Leider habe ich "onchange" ausprobiert, aber das Textfeld hat immer noch keine Validierung durchlaufen oder das Senden des Formulars erlaubt. Allerdings habe ich diesmal auch keine Ausnahme erhalten. – Sean

+0

Feuern Sie das Javascript nicht ab. Finden Sie einfach heraus, was durch den Code festgelegt wird, und stellen Sie diesen manuell ein. – Jeroen

Verwandte Themen