Autor |
Beitrag |
schdom14
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: So 07.09.03 19:51
Kann mir jemand sagen wie ich im TWebBrowser einen RadioButton automatich auswählen kann ????? Wie ich einen auswähle weiss ich, problem ist halt es sind 2 RadioButtons die den gleichen namen haben, nur die value ist unterschiedlich, und das ist auch mein problem.
könnt ihr mir helfen ???? BIIIIITTTTEEEE ich bin am verzweifeln
Thx
Moderiert von Tino: Überflüssige Absätze entfernt.
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 08.09.03 00:40
document.<formname>.<radioname>[0] bzw
document.<formname>.<radioname>[1]
siehe Selfhtml
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Mo 08.09.03 11:16
das geht nicht, aber danke für deine antwort.
Hat sonst noch jemand einen vorschlag ????
Thx
|
|
barfuesser
      
Beiträge: 324
|
Verfasst: Mo 08.09.03 12:26
Wieso geht das nicht?
barfuesser
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Mo 08.09.03 12:42
ja wieso geht das nicht ??? Wenn ich das wüsste wäre ich froh. ka woran das liegt (bin ja auch noch ein kleiner newbie  ). könnte mir mal jemand nen kleinen code posten wo das funktioniert (Ein TWebBrowser und ein Button) nur damit ich weiss wie das aussehen soll.
Thx
Moderiert von Tino: Überflüssige Absätze entfernt.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mo 08.09.03 15:56
schdom14 hat folgendes geschrieben: | das geht nicht, aber danke für deine antwort. |
Dann poste doch mal den Sourcecode der nicht klappt. Dann können wir besser helfen.
Gruß
Tino
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Mo 08.09.03 16:53
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Mo 08.09.03 19:58
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Mo 08.09.03 21:15
Also zunächst: Bitte nicht hauen weil ich nerve. Habs jetzt so gemacht wie gesagt, erst voll gefreut, juhu program startet, aber dan krieg ich vom WebBrowser die Meldung das er das objekt nicht finden kann  . ich glaube wir sind schon einen schritt weiter, oder ???????
Bitte helft mir weiter. *auf knien fleh* oder lasst es wenn ihr kein bock mehr habt *nicht hoff*
Ach übrigens habs ma mit ner einzelnen checkbox im browser gemacht die als einzige diesen namen hat und da gings mit folgendem code.
Delphi-Quelltext 1:
| WebBrowser1.OleObject.Document.Forms.item('Formname').Elements.item('boxname').checked:=true; |
Nur wenn die buttons denn selben namen und ne unterschiedliche value haben, dann gehts nicht.
Thx
Moderiert von Tino: Überflüssige Absätze entfernt.
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Di 09.09.03 20:45
Also wenn die Exception kommt, dass er das Objekt nicht kennt - dann könnte es vielleicht daran liegen, dass er es wirklich nich kennt!?
Bei mir hat das immer gefunzt, wenn ich die Namen (in GROß UND kleinschrift) exakt referenziert habe. Poste doch mal den komplette Source in den Form-Tags (inkl. Form-Tags) Deines HTML Files. Ich glaube kaum, dass Du Deine Form "formname" genannt hast, oder?
Also mach ma...
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Di 09.09.03 21:30
also bevor das noch länger so geht poste ich mal die seite um die es sich handelt und dan kann jeder der lust und zeit hat mal sehen ob er das hin bekommt. www.tripod.lycos.de/signup/signup.phtml
Es geht um den RadioButton wo "Geschlecht" steht. Wenn mir einen nen Code posten könnte wie man einen von denn beiden automatich gecheckt bekommt, wäre ich sehr dankbar. denn ich bin wohl zu blöd dafür.
Thx
Moderiert von Tino: Überflüssige Absätze entfernt.
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Do 11.09.03 14:01
ich bins schon wieder
will ja nicht nerven aber es wäre echt wichtig. Wäre also nett wenn mir mal einen nen funktionierenden code geben würde.
Thx
|
|
JustusJonas
      
Beiträge: 222
|
Verfasst: Do 11.09.03 14:06
Das Problem bei dieser Website ist, dass es sich um keine "normalen" Radio-Buttons handelt. Normalerweise kann man mit Value oder Click einen Button anwählen, aber hier haben beide den selben Namen!
Greetz
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Do 11.09.03 14:48
@ JustusJonas
wenigstens antwortet mir mal einer.
Aber es gibt da doch bestimm eine möglichkeit den truzdem auszuwählen,
oder ???? Ich weiss das nämlich nicht, bin ja leider noch ein newbie in sachen delphi.Leider
Thx
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Fr 12.09.03 07:26
Versuch's bei diesem "Beispiel" mal mit
Quelltext 1:
| document.mysignup._sexe[0].checked = true; |
für männlich und
Quelltext 1:
| document.mysignup._sexe[1].checked = true; |
für weiblich.
Müsste eigentlich funzen.
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
JustusJonas
      
Beiträge: 222
|
Verfasst: Fr 12.09.03 08:09
DaRkFiRe hat folgendes geschrieben: | Versuch's bei diesem "Beispiel" mal mit
Quelltext 1:
| document.mysignup._sexe[0].checked = true; |
für männlich und
Quelltext 1:
| document.mysignup._sexe[1].checked = true; |
für weiblich.
Müsste eigentlich funzen. |
Nein so funktioniert es eben nicht.
1. müsste es checked := true; heißen und dann funktioniert der komplette Code bei mir nicht.
Ich habe eben noch ein wenig rumprobiert und komme der Sache (glaube ich) schon ein wenig näher. Ich bleib dran!
Greetz
|
|
DaRkFiRe
      
Beiträge: 526
WinXP Home & Professional
C, C++, Delphi
|
Verfasst: Fr 12.09.03 11:57
Sag mal, sprichst Du jetzt über das Aktivieren per Delphi-Browser oder per JavaScript.
Falls Delphi, dann ist checked:= true; natürlich richtig.
Sonst versuch mal checked:="checked";
Stell mal Dein Prog mit Source online - dann kann man da mal schauen...
_________________ Lang ist der Weg durch Lehren - kurz und wirksam durch Beispiele! Seneca
|
|
kasi
      
Beiträge: 37
Win XP
D5 Ent
|
Verfasst: Fr 12.09.03 16:13
Scheint ein Bug zu sein.
Folgendes hat bei mir funktioniert.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| procedure CheckHTMLRadioButton(Doc: IHTMLDocument2; Formname, RBName, RBValue: string); var IHTMLForm: IHTMLFormElement; IHTMLInput: IHTMLInputElement; IHTMLElem: IHTMLElement; IElements: IHTMLElementCollection; i,j: integer;
begin for i := 0 to Doc.forms.length-1 do begin IHTMLForm := Doc.forms.Item(i, i) as IHTMLFormElement; if IHTMLForm.name = Formname then begin IHTMLForm.QueryInterface(IID_IHTMLElement, IHTMLElem); IElements := IHTMLElem.all as IHTMLElementCollection; for j := 0 to IElements.length-1 do begin IHTMLElem := IElements.Item(j,j) as IHTMLElement; if (IHTMLElem.tagName = 'INPUT') then begin IHTMLInput := IHTMLElem as IHTMLInputElement; if (IHTMLInput.name=RBName) and (IHTMLInput.value = RBValue) then IHTMLInput.checked := true; end; end; end; end; end;
procedure CheckRadioButton(Browser: TWebBrowser; Formname, RBName, RBNumber: string); var win: IHTMLWindow2;
begin win := (Browser.Document as IHTMLDocument2).parentWindow; win.execScript('document.'+Formname+'.'+RBName+'['+RBNumber+'].checked=''checked''','javascript'); end;
procedure TForm1.Button3Click(Sender: TObject); begin CheckRadioButton(WebBrowser1,'mysignup','_sexe','1'); // oder '0' end;
procedure TForm1.Button4Click(Sender: TObject); begin CheckHTMLRadioButton(Webbrowser1.Document as IHTMLDocument2, 'mysignup','_sexe','1'); // oder '2' end; |
KASI
|
|
schdom14 
      
Beiträge: 39
Win XP
D7 Enterprise
|
Verfasst: Sa 13.09.03 17:44
@kasi
könntest du den code mal erklären ??? So versteh ich höchstens 40%  . Und was für elemente muss ich in meine form einbauen ??
Wenn ich den so übernehme geht das nämlich nicht.
Sorry ich weis ich nerve, tut mir leid.
Thx
|
|
kasi
      
Beiträge: 37
Win XP
D5 Ent
|
Verfasst: Sa 13.09.03 21:33
in uses musst Du mshtml bzw. mshtml_tlb einbinden. Dort sind alle Interfaces für HTML-Elemente definiert.
In der ersten Funktion suche ich zunächst nach dem richtigen Form Tag. Danach untersuche ich alle Unterelemente dieses Form-Tags und wenn ich ein Input-Tag mit dem Namen RBName und dem Wert RGValue finde setze ich checked auf true.
Die zweite Funktion führt javascript auf der Seite aus.
KASI
|
|