combobox
Arkas
- javascript
hallo, ich habe eben gelesen, dass man events nicht schreiben sondern nur lesen kann. man kann aber auch events umdefinieren, in dem man ihnen eine methode zum ausfuehren uebergibt.
ich moechte eine combobox sich oeffnen lassen, wenn ich auf einen button clicke.
...
<FORM>
<input type="button" onMousedown="document.aaa.bbb.onClick">
</FORM>
<FORM name=aaa>
<SELECT name=bbb>
...
es wird kein javascript fehler beim ausfuehren der html gemeldet oder beim betaetigen des buttons, aber das event wird nicht ausgeloest.
weis jemand warum und wie es geht?
thx
Hi,
hallo, ich habe eben gelesen, dass man events nicht schreiben sondern nur lesen kann.
oh, man kann sie auch schreiben. Was Du hier allerdings willst ist sie _ausführen_ (triggern, feuern lassen). Das ist schon wieder etwas völlig anderes.
ich moechte eine combobox sich oeffnen lassen, wenn ich auf einen button clicke.
Es existiert keine Combobox; in einer solchen wärst Du in der Lage, einen freien Text einzugeben, wenn Dir die vorhandenen Optionen nicht ausreichen.
<input type="button" onMousedown="document.aaa.bbb.onClick">
Selbst wenn das einen Sinn ergäbe (Du hast hier nur eine Referenz auf eine Eigenschaft, nicht anders als onMousedown="document.body"), würde es das noch immer nicht geben. Im Gegensatz zu HTML ist JavaScript case-sensitive - die Eigenschaft heißt onclick, nicht onClick.
es wird kein javascript fehler beim ausfuehren der html gemeldet oder beim betaetigen des buttons, aber das event wird nicht ausgeloest.
"undefined" ist ja auch kein Fehler.
weis jemand warum und wie es geht?
Hast Du schon mal nachgesehen, ob es eine click()-Methode gibt? Wenn Du eine Aktion durchführen willst, brauchst Du etwas, das aktionär ist, nicht informativ.
Cheatah
Hast Du schon mal nachgesehen, ob es eine click()-Methode gibt? Wenn Du eine Aktion durchführen willst, brauchst Du etwas, das aktionär ist, nicht informativ.
--> fuer fast jedes form element gibt es diese click methode. abe ausgerechnet dafuer nicht.
Hi,
--> fuer fast jedes form element gibt es diese click methode. abe ausgerechnet dafuer nicht.
möglicherweise liegt das daran, dass dies sinnvoll ist. Stell Dir mal vor, die Methode wird auf ein <select> angewendet, welches außerhalb des sichtbaren Bereichs liegt - plötzlich kann der User nicht mehr scrollen.
Cheatah
möglicherweise liegt das daran, dass dies sinnvoll ist. Stell Dir mal vor, die Methode wird auf ein <select> angewendet, welches außerhalb des sichtbaren Bereichs liegt - plötzlich kann der User nicht mehr scrollen.
genau das will ich bezwecken. der inhalt der combobox wird aber dennoch angeezeigt. der ist weder frame noch browserbegrenzt.
ich will erreichen, dass die combobox ein hintegrund image bekommt, was eigentlich nicht geht. dazu nehme ich ein editfeld und daneben einen button, dmait es wie ne combobox aussieht.
nuetzt aber alles nichts, da ich das event nicht handeln kann (mit handelevent nur unter netscape, ab 6.1 dort auch nicht mehr).
ich brauche aber´diese freameuebergreifenden eigenschaften. ansonsten haette ich das schon mit div tags geloest.
Hi,
der inhalt der combobox wird aber dennoch angeezeigt. der ist weder frame noch browserbegrenzt.
kannst Du das für _alle_ <select> (es ist *keine* Combobox!) garantieren, die im Internet existieren oder existieren könnten?
Die Definition der JavaScript-Methoden richtet sich nicht nach Deiner speziellen Anwendung. Sie richtet sich danach, was sein _kann_, _darf_, _muss_ und _nicht darf_. Wenn ein Fall existiert, in dem eine click()-Methode auf einem Dropdown zu Problemen führt, müssen diese Probleme gelöst werden. Wenn es nicht anders geht, besteht die Lösung in der Nichtdefinition dieser Methode. That's it.
ich will erreichen, dass die combobox ein hintegrund image bekommt, was eigentlich nicht geht.
Ehrlich nicht? Ich hab's zwar noch nicht probiert, würde einer CSS-Lösung aber gute Chancen geben.
dazu nehme ich ein editfeld und daneben einen button, dmait es wie ne combobox aussieht.
Huh? Was hast Du denn nun eigentlich genau? Du redest hier offenbar nicht von Standard-HTML-Elementen, vermutest aber Standard-JavaScript-Lösungen.
nuetzt aber alles nichts, da ich das event nicht handeln kann (mit handelevent nur unter netscape, ab 6.1 dort auch nicht mehr).
Ganz nebenbei bemerkt: Ein Event-Handler reagiert nicht auf ein von JavaScript getriggertes Ereignis. Wenn Du ein Formular per submit() abschickst, feuert onSubmit explizit _nicht_ - Du hast schließlich alle Macht der Welt, die entsprechenden Funktionen vor dem submit() ausführen zu lassen.
Cheatah
kannst Du das für _alle_ <select> (es ist *keine* Combobox!) garantieren, die im Internet existieren oder existieren könnten?
nein leider nicht :)
Ehrlich nicht? Ich hab's zwar noch nicht probiert, würde einer CSS-Lösung aber gute Chancen geben.
nichts hat da ne chance. soweit ich weis, kann man nichtmal das bei den activx elementen, die eine combobox repraesentieren einstellen. das soll angeblich damit zusammenhaengen, dass die combobox (select) auf die api des betriebsystems zugreift (wie auch immer background-image hat da 0 chancen).
Huh? Was hast Du denn nun eigentlich genau? Du redest hier offenbar nicht von Standard-HTML-Elementen, vermutest aber Standard-JavaScript-Lösungen.
dachte immer, dass das select standart waere. habe ja keine ahnung, was in der w3 verordnung alles dazu drinnensteht (oder wo auch immer) :)
-----------------------------------------------------------------
im moment fuehle ich mich wie der schueler :)
Hi,
Ehrlich nicht? Ich hab's zwar noch nicht probiert, würde einer CSS-Lösung aber gute Chancen geben.
nichts hat da ne chance.
nun ja, wie gesagt habe ich es noch nicht probiert. Ich denke aber dennoch, dass sich mindestens ein Mozilla mit regulärem CSS/2 dazu bewegen lässt.
soweit ich weis, kann man nichtmal das bei den activx elementen,
Das hat nichts zu bedeuten :-)
Huh? Was hast Du denn nun eigentlich genau? Du redest hier offenbar nicht von Standard-HTML-Elementen, vermutest aber Standard-JavaScript-Lösungen.
dachte immer, dass das select standart waere. habe ja keine ahnung, was in der w3 verordnung alles dazu drinnensteht (oder wo auch immer) :)
Dann habe ich noch immer noch verstanden, was Du eigentlich machst. Dein letztes Posting klang für mich so, als würdest Du ein <select> über irgendwelche <input> und <img> oder so zu simulieren versuchen.
im moment fuehle ich mich wie der schueler :)
Herzlich willkommen, an der Bank in der dritten Reihe ist noch Platz für Dich :-)
Cheatah
hallo, ich habe eben gelesen, dass man events nicht schreiben sondern nur lesen kann. man kann aber auch events umdefinieren, in dem man ihnen eine methode zum ausfuehren uebergibt.
ich moechte eine combobox sich oeffnen lassen, wenn ich auf einen button clicke.
...
<FORM>
<input type="button" onMousedown="document.aaa.bbb.onClick">
-->sollte es nicht auch window.document.aaa.bbb.onClick heissen
--> damit rufst das Select bbb von der Form aaa auf
aber dein select steht nicht innerhalb der formtags
--> ausserdem denke ich, das man auf diese Weise zwar einen Button aufrufen kann aber ein select, da bin ich m ir nicht so sicher, ob das überhaupt auf onClick reagiert
</FORM>
<FORM name=aaa>
<SELECT name=bbb>
...
ciao romy
-->sollte es nicht auch window.document.aaa.bbb.onClick heissen
--> muss nicht unbedingt. window wird automatisch bei soetwas angenommen
--> damit rufst das Select bbb von der Form aaa auf
aber dein select steht nicht innerhalb der formtags
--> doch eigentlich schon. ich kann ja auf die positionseigenschaften zugreifen und aendern
--> ausserdem denke ich, das man auf diese Weise zwar einen Button aufrufen kann aber ein select, da bin ich m ir nicht so sicher, ob das überhaupt auf onClick reagiert
--> anscheinend nicht. aber irgendwie muss man doch das event ausloesen koennen