objekt erforderlich im IE 6.0
Robjok
- javascript
Hallo Forum,
Meine Html/Javascript versuche bringen im IE 6.0 folgenden Fehler
Objekt erforderlich
Hier das Coding
<SCRIPT TYPE="TEXT/JAVASCRIPT" LANGUAGE="JAVASCRIPT">
var XWERT=" "
var OP=" "
var OLD= " "
var OLD2= " "
var QSET= " "
function SETZE() {QSET="J"; return XWERT;}
function MERKE(WERT) {XWERT=WERT;}
function ZEIGMAL(OP2) {if (OP != XWERT) {OLD=OP2; OP2=XWERT;} else OLD=OP2; return OP2;}
function SETOLD(OLD) {if (OLD != XWERT && QSET == " ") OP=OLD; else OP=XWERT; QSET=" "; return OP;}
</SCRIPT>
...
<INPUT TYPE="TEXT" NAME="OP44" VALUE="44=löschen" SIZE="13" READONLY ONCLICK="MERKE('44')">
<INPUT TYPE="TEXT" NAME="OP00" VALUE="0=tiefer" SIZE="8" READONLY ONCLICK="MERKE('00')">
<INPUT TYPE="TEXT" NAME="OP02" VALUE="2=änd" SIZE="5" READONLY ONCLICK="MERKE('02')">
<INPUT TYPE="TEXT" NAME="OP03" VALUE="3=kop" SIZE="5" READONLY ONCLICK="MERKE('03')">
....
<TR><TD>
<INPUT TYPE="TEXT" NAME=OPT00001 VALUE=" " SIZE="2" MAXLENGTH="2" ONCLICK="this.form.OPT00001.value=SETZE(' ')" ONMOUSEOVER="this.form.OPT00001.value=ZEIGMAL(this.form.OPT00001.value)" ONMOUSEOUT="this.form.OPT00001.value=SETOLD(OLD)"></TD>
<TD> weitere spalten </TD> und weitere zeilen
...
Erklärung : anklickbare Felder(buttonersatz) im Kopf,
werden sie angeklickt, wird ihre Bedeutung gemerkt.
Eingabefähige Felder in einer darunter liegenden Tabelle
in spalte 1, die die durchzuführenden Optionen aufnimmt.
Geht die Maus auf ein solches Feld, wird der alte Inhalt
gemerkt, ein ggf. im Kopf angeklickter Inhalt
angezeigt. bei Klick wird der neue Wert gesetzt, bei
Mouseout ohne Klick der alte Wert
Die Fehlermeldung OBJEKT erfordelich kommt beim mouseover und bei mouseout
Im IE 5 ging das noch
Vielen Dank für eure Mühe
Robi
PS. Vielleicht kann ja noch einer sagen wie ich die Optionsfelder im Kopf (die hidden textfelder) in Blau darstellen kann
Objekt erforderlich
Gute Fehlermeldung. Benutze (wenn möglich) den Mozilla oder Netscape, deren Fehlermeldungen sind aussagekräftig.
Hier das Coding
Du solltest versuchen (vor allem wenn andere deinen code lesen sollen) ein paar Programmierkonventionen einzuhalten.
1. Grossbuchstaben, nur bei Konstanten oder Filehandles
2. Funktionen in kleinbuchstaben.
<SCRIPT TYPE="TEXT/JAVASCRIPT" LANGUAGE="JAVASCRIPT">
var XWERT=" "
var OP=" "
var OLD= " "
var OLD2= " "
var QSET= " "
function SETZE() {QSET="J"; return XWERT;}
function MERKE(WERT) {XWERT=WERT;}
function ZEIGMAL(OP2) {if (OP != XWERT) {OLD=OP2; OP2=XWERT;} else OLD=OP2; return OP2;}
function SETOLD(OLD) {if (OLD != XWERT && QSET == " ") OP=OLD; else OP=XWERT; QSET=" "; return OP;}
</SCRIPT>
Was gernau diese funktionen machen erschlisst sich mir gerade nicht, ehrlich gesagt sieht es aber nicht sehr sinnvoll aus (ich kann mich aber auch täuschen).
...
<INPUT TYPE="TEXT" NAME="OP44" VALUE="44=löschen" SIZE="13" READONLY ONCLICK="MERKE('44')">
Kann man ein textfeld anklicken? und dann noch eins was nur readonly ist?
seltsam der IE.
<INPUT TYPE="TEXT" NAME=OPT00001 VALUE=" " SIZE="2" MAXLENGTH="2" ONCLICK="this.form.OPT00001.value=SETZE(' ')" ONMOUSEOVER="this.form.OPT00001.value=ZEIGMAL(this.form.OPT00001.value)" ONMOUSEOUT="this.form.OPT00001.value=SETOLD(OLD)"></TD>
Kann es sein, das Formularfelder nicht mit einer Zahl anfangen dürfen?
Probier mal:
this.form['OPT00001'].value=SETOLD(OLD);
Die Fehlermeldung OBJEKT erfordelich kommt beim mouseover und bei mouseout
Im IE 5 ging das noch
Vielleicht hält sich der 6'er in diesem Punkt mehr an den standards.
PS. Vielleicht kann ja noch einer sagen wie ich die Optionsfelder im Kopf (die hidden textfelder) in Blau darstellen kann
style { background-color:blue;} oder eine Klasse einsetzten.
Struppi.
Objekt erforderlich
Gute Fehlermeldung. Benutze (wenn möglich) den Mozilla oder Netscape, deren Fehlermeldungen sind aussagekräftig.
leider nicht möglich
Hier das Coding
Du solltest versuchen (vor allem wenn andere deinen code lesen sollen) ein paar Programmierkonventionen einzuhalten.
- Grossbuchstaben, nur bei Konstanten oder Filehandles
- Funktionen in kleinbuchstaben.
schwer zu machen, coding wird generiert, ich gebs mal weiter, villeicht ändern die das im generator
<SCRIPT TYPE="TEXT/JAVASCRIPT" LANGUAGE="JAVASCRIPT">
var XWERT=" "
var OP=" "
var OLD= " "
var OLD2= " "
var QSET= " "
function SETZE() {QSET="J"; return XWERT;}
function MERKE(WERT) {XWERT=WERT;}
function ZEIGMAL(OP2) {if (OP != XWERT) {OLD=OP2; OP2=XWERT;} else OLD=OP2; return OP2;}
function SETOLD(OLD) {if (OLD != XWERT && QSET == " ") OP=OLD; else OP=XWERT; QSET=" "; return OP;}
</SCRIPT>Was gernau diese funktionen machen erschlisst sich mir gerade nicht, ehrlich gesagt sieht es aber nicht sehr sinnvoll aus (ich kann mich aber auch täuschen).
MERKEn des alten inhalts»»
ZEIGen eines vorher angeklickten Feldes
SETZEn des vorher angeklicketen wertes(der in ZEIGE) angezeigt wird
SETOLD setzen des alten inhalts, wenn nicht geklickt
Es geht darum , merere sätze(zeilen) einer Tabelle zur Bearbeitung zu markieren und die Bearbeitung anschl. EN-Block auszulösen(wichtig)
...
<INPUT TYPE="TEXT" NAME="OP44" VALUE="44=löschen" SIZE="13" READONLY ONCLICK="MERKE('44')">
Kann man ein textfeld anklicken? und dann noch eins was nur readonly ist?
seltsam der IE.
was müßte ich den verwenden um per klick einen feldinhalt zu merken ?
<INPUT TYPE="TEXT" NAME=OPT00001 VALUE=" " SIZE="2" MAXLENGTH="2" ONCLICK="this.form.OPT00001.value=SETZE(' ')" ONMOUSEOVER="this.form.OPT00001.value=ZEIGMAL(this.form.OPT00001.value)" ONMOUSEOUT="this.form.OPT00001.value=SETOLD(OLD)"></TD>
Kann es sein, das Formularfelder nicht mit einer Zahl anfangen dürfen?
Probier mal:
this.form['OPT00001'].value=SETOLD(OLD);
Wieso zahl ? OPT00001 , egal,
['OPT00001'] bringt 'Bezeichner erwartet', schon beim laden der source
Die Fehlermeldung OBJEKT erfordelich kommt beim mouseover und bei mouseout
Im IE 5 ging das nochVielleicht hält sich der 6'er in diesem Punkt mehr an den standards.
Lösungsvorschlag im Standart ?
PS. Vielleicht kann ja noch einer sagen wie ich die Optionsfelder im Kopf (die hidden textfelder) in Blau darstellen kann
style { background-color:blue;} oder eine Klasse einsetzten.
style in der <INPUT type Text ... im 'kopf' hab ich versucht, geht nicht, wo den dann ?
Danke
RobJOk
Struppi.
Objekt erforderlich
Gute Fehlermeldung. Benutze (wenn möglich) den Mozilla oder Netscape, deren Fehlermeldungen sind aussagekräftig.
leider nicht möglich
Dann wird's schwer.
<SCRIPT TYPE="TEXT/JAVASCRIPT" LANGUAGE="JAVASCRIPT">
var XWERT=" "
var OP=" "
var OLD= " "
var OLD2= " "
var QSET= " "
function SETZE() {QSET="J"; return XWERT;}
function MERKE(WERT) {XWERT=WERT;}
function ZEIGMAL(OP2) {if (OP != XWERT) {OLD=OP2; OP2=XWERT;} else OLD=OP2; return OP2;}
function SETOLD(OLD) {if (OLD != XWERT && QSET == " ") OP=OLD; else OP=XWERT; QSET=" "; return OP;}
</SCRIPT>Was gernau diese funktionen machen erschlisst sich mir gerade nicht, ehrlich gesagt sieht es aber nicht sehr sinnvoll aus (ich kann mich aber auch täuschen).
MERKEn des alten inhalts»»
ZEIGen eines vorher angeklickten Feldes
SETZEn des vorher angeklicketen wertes(der in ZEIGE) angezeigt wird
SETOLD setzen des alten inhalts, wenn nicht geklickt
Es geht darum , merere sätze(zeilen) einer Tabelle zur Bearbeitung zu markieren und die Bearbeitung anschl. EN-Block auszulösen(wichtig)
Ich bin mir nicht sicher ob ich verstehe warum du das tust, aber für mich klingt das so als ob du einfach nur radiobuttons verwenden willst (evtl. auch checkboxen). Da merkt sich der Browser den Zustand
...
<INPUT TYPE="TEXT" NAME="OP44" VALUE="44=löschen" SIZE="13" READONLY ONCLICK="MERKE('44')">
Kann man ein textfeld anklicken? und dann noch eins was nur readonly ist?
seltsam der IE.was müßte ich den verwenden um per klick einen feldinhalt zu merken ?
type="button"?
<INPUT TYPE="TEXT" NAME=OPT00001 VALUE=" " SIZE="2" MAXLENGTH="2" ONCLICK="this.form.OPT00001.value=SETZE(' ')" ONMOUSEOVER="this.form.OPT00001.value=ZEIGMAL(this.form.OPT00001.value)" ONMOUSEOUT="this.form.OPT00001.value=SETOLD(OLD)"></TD>
Kann es sein, das Formularfelder nicht mit einer Zahl anfangen dürfen?
Probier mal:
this.form['OPT00001'].value=SETOLD(OLD);Wieso zahl ? OPT00001 , egal,
ist das doch ein O (ohh) sieht in Courier genauso aus wie eine 0 'null'
['OPT00001'] bringt 'Bezeichner erwartet', schon beim laden der source
Dann ist irgendwas anderes Faul. Wenn das Element da ist (so wie es aussieht ist es da), muss das funktioneren.
PS. Vielleicht kann ja noch einer sagen wie ich die Optionsfelder im Kopf (die hidden textfelder) in Blau darstellen kann
style { background-color:blue;} oder eine Klasse einsetzten.
style in der <INPUT type Text ... im 'kopf' hab ich versucht, geht nicht, wo den dann ?
entweder inline <input style="..."
oder eben als Klassen
<style type="text/css">
.input {
background-color:blue;
}
</style>
<input type="..." class="input" ...>
Mehr dazu: http://www.netzwelt.com/selfhtml/css/index.htm
Struppi.
Guten Tag, Robjok,
ist es vielleicht möglich, daß Du einfach einen form-tag nicht
notiert hast? Dein script arbeitet nämlich fehlerlos auf die von
Dir beschriebene Weise.
Die von Dir beschriebene Fehlermeldung bekomme ich allerdings,
wenn ich den einleitenden form-tag weglasse. Das ist auch kein Wunder,
denn schließlich wird ja this.form verlangt.
gruß
werndt