Robjok: objekt erforderlich im IE 6.0

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

  1. 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.

    1. 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.

      1. Grossbuchstaben, nur bei Konstanten oder Filehandles
      2. 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 noch

      Vielleicht 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.

      1. 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.

  2. 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