[VB6] check of een veld voorkomt in het browser venster

Pagina: 1
Acties:

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Beste allemaal,

Ik heb een klein probleempje wat ik niet opgelost lijk te krijgen.

Ik heb in VB 6 een standaard formuliertje gemaakt met daarin een standaard
internet controls webbrowserstje

so far so good

Nu doe ik d.m.v een BeforeNavigate2 een check bij elke url die wordt aan geklikt
Als de website op een bepaalde pagina is wil ik via het VB script een aantal dingen laten uitvoeren.

1 daarvan is onder andere het vullen van een veld.

nu doe ik dat in VB met
code:
1
Form1.wweb.document.all("mailto").value = "test@test.com"


Als het veld betstaat in de browser window dan is er geen probleem en wordt het veld gevuld

maar nu
als het veld NIET bestaat dan crashed heel het VB applicatietje

hmm dus ik denk dat vang ik af dmv

code:
1
2
3
if (form1.wweb.document.all("mailto") ) then
Form1.wweb.document.all("mailto").value = "test@test.com"
end if


maar nu crashed mijn appje nogsteeds en krijg ik type mismatch op regel
if (form1.wweb.document.all("mailto") ) then

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

geen idee of VB case-sensitive is; in dat geval zou ik zeggen: form1 != Form1

verder is document.all vies, ranzig, verouderd en vies en ondertussen vervangen door de betere DOM methoden zoals document.getElementById of document.getElementsByName
de 1e geeft null terug als het ID niet gevonden kan worden, de 2e geeft een collection terug en heeft length = 0 als er geen element met dat name attribuut is

Intentionally left blank


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
In javascript gebruik ik altijd getElementById inderdaad.
hmm
dus ik proberen in VB
code:
1
2
3
If Form1.wweb.Document.getElementById("mailto") Then
MsgBox "bestaat"
End If


Krijg nog steed type mismatch

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
ook geprobeerd :

code:
1
2
3
4
5
6
7
If (Form1.wweb.Document.getElementById("mailto") = 0) Then
MsgBox "veld bestaat niet"
'Form1.wweb.Document.getElementById("mailto").Value = FieldValue
Else
MsgBox "Bestaat wel"
Form1.wweb.Document.getElementById("mailto").Value = FieldValue
End If


Als het veld in het document bestaat werkt het wel maar anders weer die type mismatch
aargh @#$% ja ik snap dat je hem niet kan vinden daarom wil ik het ook afvangen
is er niemand die dit oit eerder heeft geprobeerd??
please

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

waarom doe je nou weer Document ipv document?
en zoals gezegd geeft getElementById null terug als het element niet bestaat

verder weet ik niets van VB trouwens

[ Voor 14% gewijzigd door crisp op 10-01-2004 00:55 ]

Intentionally left blank


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Dat verandert VB zelf
heb het al een aantal keren geprobeerd te veranderen

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 12:56

RayNbow

Kirika <3

Ik krijg geen Type Mismatches hier maar wel een Object variable or With block variable not set fout wanneer het opgevraagde element niet bestaat.
crisp schreef op 10 januari 2004 @ 00:54:
waarom doe je nou weer Document ipv document?
en zoals gezegd geeft getElementById null terug als het element niet bestaat

verder weet ik niets van VB trouwens
Document is nou eenmaal de naam van deze member van deze control. Blame Microsoft ;). Daarnaast is VB niet hoofdletter gevoelig.

*na wat klooien en zo...*

Ok, hier is een oplossing... tenminste dit deed het op mijn computer:
Visual Basic 6:
1
2
3
4
5
If Not Form1.wweb.Document Is Nothing Then
    If Not Form1.wweb.Document.getElementById("mailto") Is Nothing Then
        Form1.wweb.Document.getElementById("mailto").Value = "test@test.com"
    End If
End If
(If statements genest, VB6 kent geen short circuit And)

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
RayNbow if you where a woman i would kiss you.

works like a charm

_/-\o_

[ Voor 7% gewijzigd door vorlox op 10-01-2004 01:45 ]

Pagina: 1