Mam stronę internetową, która jest ładowana w formancie WebBrowser, HTML jest podobny do:
<input type="text" id="baa" name="baa" >
Chcę zmienić wartość baa
wprowadź element HTML za pomocą kodu javacript, zrobiłem to:
webBrowser1.Navigate("javascript:document.getElementById("baa").value = "baa"; void(0)");
ale to nie działa w IE. Jak to naprawić? Z góry dziękuję.
Odpowiedzi:
0 dla odpowiedzi № 1jeśli chcesz uruchomić skrypt, to lepiejza pomocą .execScript, który jest dostarczany ze sterowaniem .NET i .NET WB, lub .InvokeScript, który jest dostarczany tylko ze sterowaniem .NET WB - użycie tych jest o wiele lepszym pomysłem, ponieważ można używać VBScript, a także JavaScript (JScript).
Aby zmienić wartość, wszystko co musisz zrobić, toponiżej, zakładając, że twoja nazwa kontrolki WebBrowser to wbMain. To jest w VB, ale robienie tego w C # nie ma różnicy, z wyjątkiem składni językowej, która jest łatwa do odczytania i ponownego użycia w dowolnym języku, który chcesz.
Dim hDoc as MSHTML.IHTMLDocument " declare the html document object.
Set hDoc = wbMain.Document " Get a reference to the WB controls document object.
hDoc.getElementById("baa").value = "baa"
W rzeczywistości nie musisz nawet otrzymywać referencji ani wykonywać żadnej z powyższych czynności, jeśli chcesz, możesz użyć jej bezpośrednio z kontrolki balansu bieli.
wbMain.Document.getElementById("baa").value = "baa"
Jeśli chcesz zmienić to na coś innego, na przykład „naa”, po prostu zrób to:
wbMain.Document.getElementById("baa").value = "naa"
Daj mi znać, jeśli Ci to pomoże lub potrzebujesz dodatkowej pomocy.
Twoje zdrowie.