vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Webbrowsercontrol: GetElementById bei Javascript-Element 
Autor: Nexpert
Datum: 14.08.08 18:25

Also, ich lade in meine Webbrowseranwendung eine Seite, in der folgendes Javascript aufgerufen wird:

function checkUNA()
{
   var un = document.getElementById('id').value;
   var sc = document.createElement('script');
   sc.src = '/un.phtml?id=' + un + '&st=' + (new Date()).getTime();
   document.body.appendChild(sc);
   return false;
}
Diese Funktion prüft auf dem Server die Verfügbarkeit der Eingabe eines Usernamens un, das im Feld mit der Id "id" eingegeben wurde und erzeugt ein Feldelemend mit dem Namen "unstat". in dieses Feldelement wird mit einer zweiten Funktion "verfügbar" oder "nicht verfügbar" geschrieben.

function setUNA(stat)
{
   document.getElementById('unstat').innerHTML = (stat ? '<span style="color:" & _
     "green;">verfügbar</span>' : '<span style="color: red;">nicht verfügbar</span>');
}
Greife ich nun mit getElementById auf dieses Feld "unstat" zu, dann bekomme ich für die ganzen Properties keine Werte zurück. Ich möchte nämlich rauslesen, was das Javascript zurückgegeben hat. Aufgerufen wird das Script CheckUNA über einen Button, dessen Code ich gleichfalls angebe:

<TD><INPUT id=id onkeyup=updateUNA() maxLength=13 onchange=updateUNA() 
      onload=updateUNA() size=18 name=id> <INPUT id=unch onclick="return" & _
        "checkUNA()" type=button value="Verfügbarkeit überprüfen" name=unch> 
        <B><SPAN id=unstat name="unstat"></SPAN></B> </TD>
Wie da SetUNA aufgerufen wird, weiß ich nicht.
Die Seite, um die es hier geht, heißt: http://www.playok.com/intl/de/register.phtml
Dort möchte ich testhalber mehrere Nicknamen auf Verfügbarkeit überprüfen.

Mit GetElementById greife ich auf die Seite zu, nachdem ich die Eingabefelder gesetzt und den Button betätigt habe:

		If frmMain.tcMain.TabCount > 0 Then
			oWb = GetCurrentWebBrowser(frmMain.tcMain) 
			oDoc = oWb.Document
			oTxtUser = oDoc.GetElementById("Id")
			oTxtUser.InnerText = "strive"
			oTxtPwd = oDoc.GetElementById("pw1")
			oTxtPwdAgain = oDoc.GetElementById("pw2")
			oTxtPwd.InnerText = "Test"
			oTxtPwdAgain.InnerText = "Test"
			oCmdCheck = oDoc.GetElementById("unch")
			oCmdCheck.InvokeMember("onclick")
			oTextVerfügbar = oDoc.GetElementById("unstat")
oTextVefügbar existiert dann zwar, hat aber keine Werte, die ich brauchen kann. Das Javascript funktioniert auch, in der Seite steht auch der richtige Wert "verfügbar" bzw. "nicht verfügbar".

Ich glaube, das wird etwas schwieriger, daher kein Problem, wenn da jemand die Lösung nicht weiß Aber trotzdem im Voraus Danke für Euer Interesse und Eure Hilfe.

Beitrag wurde zuletzt am 14.08.08 um 18:31:01 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Webbrowsercontrol: GetElementById bei Javascript-Element1.633Nexpert14.08.08 18:25
Re: Webbrowsercontrol: GetElementById bei Javascript-Element860Nexpert19.08.08 17:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel