Sorgenkind mech: objekt erwartet - ich krig die kriese !

guten morgen!

ich krig schonwieder die kriese ich hab folgende funktion:

function schrittweiseweiter()
{
 var nanfang = document.getElementById('anfang').value;
 nanfang = number(nanfang);
 var nende = document.getElementById('ende').value;
 nende = number(nende);
 var schrittweite = document.getElementById('schrittweite').value;
 schrittweite = number(schrittweite);
 document.getElementById('anfang').value=nanfang + schrittweite;
 document.getElementById('ende').value=nende + schrittweite;
}

so, das ganze steht im head, wird aufgerufen, und in der ersten zeile nach der öffnenden { krig ich den fehler "Objekt Erwartet" im IE
und ich weiß nich wieso ;(
die elemente existieren alle, und ich bekomme auch per alert() nen wert, dennoch scheine ich irgentwo n denkfehler zu haben, kann mir jemand n tipp geben?

dank schonmal im vorraus

gruß

  1. Hallo,

    var nanfang = document.getElementById('anfang').value;

    mhh... von was soll das der Wert sein?

    so, das ganze steht im head, wird aufgerufen, und in der ersten zeile nach der öffnenden { krig ich den fehler "Objekt Erwartet" im IE

    schau dir das mal mit mozilla und/oder opera an, die liefern aussagekräftigere Fehlermeldungen (in welcher Zeile tritt der Fehler eigentlichauf?)

    die elemente existieren alle, und ich bekomme auch per alert() nen wert, dennoch scheine ich irgentwo n denkfehler zu haben, kann mir jemand n tipp geben?

    kann man sich das ganze irgendwo ansehen?

    Grüße aus Nürnberg
    Tobias

    1. ach neeeee .........
      "number" muss natürlich "Number" heißen *ankopffass*

      die werte stammen übrigens von unsichtbaren eingabefeldern
      wirklich ansehen nicht, da das ganze wahrscheinlich erst in 1 oder 2 jahren online geht ;)

      bis dahin trotzdem danke

      grüße

  2. ich krig schonwieder die kriese ich hab folgende funktion:

    Ich krieg auch langsam die Krise.
    Innerhalb weniger Minuten zum wiederholten Male, eine Frage ohne das auch nur der Versuch ersichtlich ist, was getan wird oder eine genaue Fehlerbeschreibung zu bekommen

    function schrittweiseweiter()
    {
    var nanfang = document.getElementById('anfang').value;
    nanfang = number(nanfang);
    var nende = document.getElementById('ende').value;
    nende = number(nende);
    var schrittweite = document.getElementById('schrittweite').value;
    schrittweite = number(schrittweite);
    document.getElementById('anfang').value=nanfang + schrittweite;
    document.getElementById('ende').value=nende + schrittweite;
    }

    so, das ganze steht im head, wird aufgerufen, und in der ersten zeile nach

    unrelevant wo es steht

    der öffnenden { krig ich den fehler "Objekt Erwartet" im IE
    und ich weiß nich wieso ;(

    Ich auch nicht, da du nicht sagst, wo genau (in welcher Zeile) der Fehler auftritt

    die elemente existieren alle, und ich bekomme auch per alert() nen wert, dennoch scheine ich irgentwo n denkfehler zu haben, kann mir jemand n tipp geben?

    was für ein alert() von welchen Elementen?

    Stell ich eigentlich die Fragen hier?

    Ich vermute mal aus deinem Ratespiel herrauszulesen, dass du Formularwerte abfragen willst, da ist mir aber nicht klar, warum du getElementById verwendest und damit User von älteren Browsern unnötig aussperrst.

    <form>
    <input type="..." onclick="schrittweiseweiter(this);">

    ....
    </form>

    function schrittweiseweiter(el)
    {
        var nanfang = number( el.form['anfang'].value);
        var nende = number( el.form.[ende].value);
        var schrittweite = number(el.form['schrittweite'].value);
        el.form['anfang'].value = nanfang + schrittweite;
        el.form['ende'].value = nende + schrittweite;
    }

    aber wie gesagt, dass ist nur geraten.

    Struppi.

    1. ich krig schonwieder die kriese ich hab folgende funktion:

      Ich krieg auch langsam die Krise.
      Innerhalb weniger Minuten zum wiederholten Male, eine Frage ohne das auch nur der Versuch ersichtlich ist, was getan wird oder eine genaue Fehlerbeschreibung zu bekommen

      also ich finde eigentlich, dass man das aus dem kleinen quelltext sieht, was passiert ......... viel isses ja nich

      function schrittweiseweiter()
      {
      var nanfang = document.getElementById('anfang').value;
      nanfang = number(nanfang);
      var nende = document.getElementById('ende').value;
      nende = number(nende);
      var schrittweite = document.getElementById('schrittweite').value;
      schrittweite = number(schrittweite);
      document.getElementById('anfang').value=nanfang + schrittweite;
      document.getElementById('ende').value=nende + schrittweite;
      }

      so, das ganze steht im head, wird aufgerufen, und in der ersten zeile nach

      unrelevant wo es steht

      angeblich nich, als ich mal ne funktion im body zu stehen hatte hab ich mal probleme gehabt, und dann hat jemand gesagt, dass das in den head muss, dann hats geklappt ....... *verwirrtist*

      der öffnenden { krig ich den fehler "Objekt Erwartet" im IE
      und ich weiß nich wieso ;(

      Ich auch nicht, da du nicht sagst, wo genau (in welcher Zeile) der Fehler auftritt

      ? ich muss wohl chinesisch sprechen ....... (nich bös gemeint)

      die elemente existieren alle, und ich bekomme auch per alert() nen wert, dennoch scheine ich irgentwo n denkfehler zu haben, kann mir jemand n tipp geben?

      was für ein alert() von welchen Elementen?

      na von den elementen, deren wert dort abgefragt werden

      zumal es irrelevant ist, von welchen elementen, da alle document.betElementById(..).value einen wert haben, und somit nicht die fehlerquelle sein konnten

      Stell ich eigentlich die Fragen hier?

      einige schon ......

      Ich vermute mal aus deinem Ratespiel herrauszulesen, dass du Formularwerte abfragen willst, da ist mir aber nicht klar, warum du getElementById verwendest und damit User von älteren Browsern unnötig aussperrst.

      weil das ganze nicht öffentlich sein wird, und somit auf ein bestimmtes netz zugeschnitten ist, aber das is ja jetz hier uninteressant

      <form>
      <input type="..." onclick="schrittweiseweiter(this);">

      ....
      </form>

      function schrittweiseweiter(el)
      {
          var nanfang = number( el.form['anfang'].value);
          var nende = number( el.form.[ende].value);
          var schrittweite = number(el.form['schrittweite'].value);
          el.form['anfang'].value = nanfang + schrittweite;
          el.form['ende'].value = nende + schrittweite;
      }

      aber wie gesagt, dass ist nur geraten.

      Struppi.

      grüße

      1. ich krig schonwieder die kriese ich hab folgende funktion:

        Ich krieg auch langsam die Krise.
        Innerhalb weniger Minuten zum wiederholten Male, eine Frage ohne das auch nur der Versuch ersichtlich ist, was getan wird oder eine genaue Fehlerbeschreibung zu bekommen

        also ich finde eigentlich, dass man das aus dem kleinen quelltext sieht, was passiert ......... viel isses ja nich

        Eben, und von daher wäre es relevant gewesen, woher du die Werte hast und vor allem in welcher Zeile der Fehler auftritt.

        so, das ganze steht im head, wird aufgerufen, und in der ersten zeile nach

        unrelevant wo es steht

        angeblich nich, als ich mal ne funktion im body zu stehen hatte hab ich mal probleme gehabt, und dann hat jemand gesagt, dass das in den head muss, dann hats geklappt ....... *verwirrtist*

        Es spielt keine Rolle, es müssen nur die Elemente vorhanden sein auf die du zugreifen möchtest (genau wie im Header auch).

        der öffnenden { krig ich den fehler "Objekt Erwartet" im IE
        und ich weiß nich wieso ;(

        Ich auch nicht, da du nicht sagst, wo genau (in welcher Zeile) der Fehler auftritt

        ? ich muss wohl chinesisch sprechen ....... (nich bös gemeint)

        wieso? verstanden hab ich dich, aber "krig ich den fehler "Objekt Erwartet" im IE" ist defenitiv nichtssagend.

        die elemente existieren alle, und ich bekomme auch per alert() nen wert, dennoch scheine ich irgentwo n denkfehler zu haben, kann mir jemand n tipp geben?

        was für ein alert() von welchen Elementen?

        na von den elementen, deren wert dort abgefragt werden

        zumal es irrelevant ist, von welchen elementen, da alle document.betElementById(..).value einen wert haben, und somit nicht die fehlerquelle sein konnten

        eben, und hättest du die Zeile gesagt, wäre der Fehler mit Number/number vermutlich leichter zu finden gewesen.

        Ich vermute mal aus deinem Ratespiel herrauszulesen, dass du Formularwerte abfragen willst, da ist mir aber nicht klar, warum du getElementById verwendest und damit User von älteren Browsern unnötig aussperrst.

        weil das ganze nicht öffentlich sein wird, und somit auf ein bestimmtes netz zugeschnitten ist, aber das is ja jetz hier uninteressant

        Naja, trotzdem seltsam eine umständlichere Lösung zu suchen, nur damit sie nicht überall funktioniert, aber jeder wie er mag.

        Struppi.

        1. Hallo,

          Es spielt keine Rolle, es müssen nur die Elemente vorhanden sein auf die du zugreifen möchtest (genau wie im Header auch).

          Es kann durchaus eine Rolle spielen wo der Script steht.
          Z.B. hier:
          http://www.meta-text.net/entwicklung/schriftarten/files/cursive.html
          wenn ich dort den Teil:
          <SCRIPT LANGUAGE="JavaScript1.2">
          <!--
          //For IE
          if (document.all) {
              onLoad();
          }
          //-->
          </SCRIPT>
          Im head hätte, würde die Navigation im IE nicht funktionieren.

          wieso? verstanden hab ich dich, aber "krig ich den fehler "Objekt Erwartet" im IE" ist defenitiv nichtssagend.

          Und? Das ist nicht sein Fehler sonder der vom IE der absolut sinnfreie Meldungen von sich gibt z.B. "Objekt Erwartet". Und die Zeilenangaben bei solchen Meldungen versteht auch kein Mensch.
          Wenn er den Scripting Host vom M$ installiert hätte, könnte er genau die Stelle sehen, die den Fehler verursacht, aber das ist ein absoluter Overhead und dazu zimlich nervig, da 80% der Webseiten die JS benutzen im IE einen Fehler produzieren und wenn beim jeden Fehler der Debugger aufpoppt, wird man spätestens nach einer Stunde im Internet irre.

          Grüße
          Thomas

          1. Es spielt keine Rolle, es müssen nur die Elemente vorhanden sein auf die du zugreifen möchtest (genau wie im Header auch).

            Es kann durchaus eine Rolle spielen wo der Script steht.
            Z.B. hier:
            http://www.meta-text.net/entwicklung/schriftarten/files/cursive.html
            wenn ich dort den Teil:
            <SCRIPT LANGUAGE="JavaScript1.2">
            <!--
            //For IE
            if (document.all) {
                onLoad();
            }
            //-->
            </SCRIPT>
            Im head hätte, würde die Navigation im IE nicht funktionieren.

            Mal abgesehen, dass ich diese Zeilen nicht im BODY finde, ist deine Aussage nach wie vor falsch. Es spielt keine Rolle, wo das Skript steht, aber die Elemente auf die du zugreifen willst, müssen dem Browser bekannt sein.

            wieso? verstanden hab ich dich, aber "krig ich den fehler "Objekt Erwartet" im IE" ist defenitiv nichtssagend.

            Und? Das ist nicht sein Fehler sonder der vom IE der absolut sinnfreie Meldungen von sich gibt z.B. "Objekt Erwartet". Und die Zeilenangaben bei solchen Meldungen versteht auch kein Mensch.

            Was willst du _mir_ jetzt damit sagen, indem du meine Aussage wiederholst?

            Wenn er den Scripting Host vom M$ installiert hätte, könnte er genau die Stelle sehen, die den Fehler verursacht, aber das ist ein absoluter Overhead und dazu zimlich nervig, da 80% der Webseiten die JS benutzen im IE einen Fehler produzieren und wenn beim jeden Fehler der Debugger aufpoppt, wird man spätestens nach einer Stunde im Internet irre.

            Mozilla und Netscape zeigen durchaus sinnvolle Fehlermeldungen an, auch ohne Skripting Host.

            Struppi.

            1. Hallo,

              Mal abgesehen, dass ich diese Zeilen nicht im BODY finde, ist deine Aussage nach wie vor falsch. Es spielt keine Rolle, wo das Skript steht, aber die Elemente auf die du zugreifen willst, müssen dem Browser bekannt sein.

              Tja, dass du sie nicht findest sprich nicht gerade für dich. Es steht brav in der Seite kurz vorm Ende.
              Was den Rest angeht: du kannst gerne glauben was du willst und ich arbeite damit so wie es erforderlich ist. Mein Vorteil? Es funktioniert, was er (der Script) bei dir nicht tun würde.

              Was willst du _mir_ jetzt damit sagen, indem du meine Aussage wiederholst?

              Ich habe sie nicht wiederholt (höchstens als Zitat in der Posting gelassen) sonder dich schlich darauf hingewisen, dass dein Vorwurf
              "verstanden hab ich dich, aber "krig ich den fehler "Objekt Erwartet" im IE" ist defenitiv nichtssagend" gegenüber den Vorposter unberechtig ist, denn er kann nur das wiederholen was ihm der IE als Fehlermeldung ausgibt.

              Mozilla und Netscape zeigen durchaus sinnvolle Fehlermeldungen an, auch ohne Skripting Host.

              Ihm ging es aber um den IE. Alles klar?

              Grüße
              Thomas

              1. Hallo,

                Was machst du mich ihr eigentlich so an? Alles in Ordnung?

                Mal abgesehen, dass ich diese Zeilen nicht im BODY finde, ist deine Aussage nach wie vor falsch. Es spielt keine Rolle, wo das Skript steht, aber die Elemente auf die du zugreifen willst, müssen dem Browser bekannt sein.

                Tja, dass du sie nicht findest sprich nicht gerade für dich. Es steht brav in der Seite kurz vorm Ende.

                Ach herje, ich brauch keine 212 HTML gewusel durchzuwühlen, um zu Wissen, das deine Aussage nicht meine widerlegt.

                Was den Rest angeht: du kannst gerne glauben was du willst und ich arbeite damit so wie es erforderlich ist. Mein Vorteil? Es funktioniert, was er (der Script) bei dir nicht tun würde.

                Weil, du kennst offensichtlich das onload event nicht. Damit funktioniert es auch im Header. Du machst in deinem Skript nur genau das was ich jetzt zum bereits dritten mal sage, du greifst auf die Elemente zu, wenn sie vorhanden sind. Aber wo das Skript steht spielt keine Rolle, sondern es ist nur der Zeitpunkt wann es aufgerufen wird entscheidend.

                Schreib im header:
                window.onload = onLoad;
                dann funktioniert es auch da (oder im HTML Code: <body onload="onLoad();"..>)

                Was willst du _mir_ jetzt damit sagen, indem du meine Aussage wiederholst?

                Ich habe sie nicht wiederholt (höchstens als Zitat in der Posting gelassen) sonder dich schlich darauf hingewisen, dass dein Vorwurf
                "verstanden hab ich dich, aber "krig ich den fehler "Objekt Erwartet" im IE" ist defenitiv nichtssagend" gegenüber den Vorposter unberechtig ist, denn er kann nur das wiederholen was ihm der IE als Fehlermeldung ausgibt.

                Da steht in der Regel Objekt erwartet in Zeile xyz und ab und an ist dies eine zusätzliche Information (die Zeile), die nützlich sein kann, soll heißen, es wäre etwas weniger nichtssagend gewesen, hätte er diese Information noch mit dabei geschrieben.

                Mozilla und Netscape zeigen durchaus sinnvolle Fehlermeldungen an, auch ohne Skripting Host.

                Ihm ging es aber um den IE. Alles klar?

                Nein, ihm ging es nicht um den IE (woraus liest du das?), sondern er benutzt unzureichende Werkzeuge um umfangreichere Skripte zu schreiben. Und zusätzlich kann er diese nicht richtig benutzen.

                Struppi.