romy: document.formname.submit()

Hi,

so sehr es mich auch nervt, diesen Unsinn hier veranstalten zu müssen, komme ich jetzt gerade nicht drum herum, ausserdem geht es ums Prinzip ;)

function checkCom() {
 var textarea;
 textarea = document.addnote.comment.value;

if(textarea.length<=4) { //prüfen ob dies stimmt
  alert("Das Kommentarfeld ist leer.");
  document.addnote.comment.focus();
 }
 else {
  document.addnote.submit();
 }
}

Bleibt das Feld leer, passiert was soll, nämlich das Ausgeben der Meldung. Wieso hat die textarea immernoch ein Länge von 4 Zeichen, auch wenn sie leer ist?
Springt er in den Else-Zweig kommt der Fehler:(wie ich ihn liebe )
"Objekt unterstützt Eigenschaft oder Methode nicht" zeile 10
(zeile 10 ist die vorletzte Klammer->schliessendes else)

Ja was will mir der Dichter damit sagen.
alert(document.addnote.submit) bringt: object

reinspringen in den Else-Zweig tut er auch, irgendwelche alerts bringen da keinen Fehler.

Was kann ich tun?

ciao\nromy

--
DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN\n\nsh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[\nDie Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html\nEinen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  1. moin

    also das mit dem textfeld is mir schleierhaft

    aber ich gehe mal davon aus, dass dein formular addnote heißt

    probier mal: document.forms['addnote'].submit();

    gruß

  2. Hallo Romy,

    textarea = document.addnote.comment.value;

    Versuche es mal mit einem anderen Bezeichner. Es ist besser Variablennamen zu nehmen die nicht irgendwelchen tags oder reservierten js Kommandos entsprechen.

    document.addnote.submit();
    "Objekt unterstützt Eigenschaft oder Methode nicht"
    alert(document.addnote.submit) bringt: object

    Sollte er nicht "function submit() [native code]" bringen?
    Ich bin leider überfragt. Augenscheinlich sehe ich keinen Fehler. Hast du vielleicht irgendwo "addnote" bereits verwendet? Wie sieht dein <form> Tag aus. Was steht bei action=? Rufst du checkCom()über einen normalen (type="button") oder einen submit-Button (type="submit") auf? Kannst du nicht die normale "submit" Funktionalität verwenden? Also auf das document.addnote.submit() ganz verzichten?

    Viele Grüße,

    Maxx

    1. Hi,

      textarea = document.addnote.comment.value;
      Versuche es mal mit einem anderen Bezeichner. Es ist besser Variablennamen zu nehmen die nicht irgendwelchen tags oder reservierten js Kommandos entsprechen.

      hatte ich schon, ist nicht das Problem, war nur testweise

      document.addnote.submit();
      "Objekt unterstützt Eigenschaft oder Methode nicht"
      alert(document.addnote.submit) bringt: object
      Sollte er nicht "function submit() [native code]" bringen?

      genau

      hast du vielleicht irgendwo "addnote" bereits verwendet?

      nicht das ich wüsste, im Moment ist alles noch sehr übersichtlich
      habe auch danach gesucht, es gibt nur ein form name="addnote"

      Wie sieht dein <form> Tag aus. Was steht bei action=?

      action="content/edit.php"

      Rufst du checkCom()über einen normalen (type="button") oder einen submit-Button (type="submit") auf?

      type="button"
      onClick="checkCom();

      "Kannst du nicht die normale "submit" Funktionalität verwenden? Also auf das document.addnote.submit() ganz verzichten?

      kann ich, habe es jetzt auch erstmal darauf umgestellt
      habe aber die Massgabe, vor der serverseitigen Prüfung bestimmter EIngabefelder, sie schon Clientseitig zu prüfen, deswegen dieses Problem.

      Gibt es in Javascript eine Funktion wie trim()?
      (wegen der 4 Leerzeichen)
      ciao
      romy

      --
      DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
      sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
      Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
      Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
      1. Hallo,

        document.addnote.submit();
        "Objekt unterstützt Eigenschaft oder Methode nicht"
        alert(document.addnote.submit) bringt: object

        ... macht mich stutzig. Hast du etwas "submit" benannt?

        "Kannst du nicht die normale "submit" Funktionalität verwenden? Also auf das document.addnote.submit() ganz verzichten?
        kann ich, habe es jetzt auch erstmal darauf umgestellt
        habe aber die Massgabe, vor der serverseitigen Prüfung bestimmter EIngabefelder, sie schon Clientseitig zu prüfen, deswegen dieses Problem.

        Deine Funktion "checkCom()" sollte ein return true liefern wenn die Form submitted werden soll, liefert sie ein false wird sie auch nicht übermittelt. Das ist es doch was du willst? Ein document...submit() ist eigentlich nicht nötig.

        Gibt es in Javascript eine Funktion wie trim()?
        (wegen der 4 Leerzeichen)

        Nein, aber du kannst mit substr() Teile einer Zeichenkette extrahieren.

        HTH

        Maxx

        1. Hi,

          ... macht mich stutzig. Hast du etwas "submit" benannt?

          thats it, der button heisst submit, also name="submit"
          man da hätte ich doch auch drauf kommen können, es ist aber auch eine Krux

          heissen Dank

          ciao
          romy

          --
          DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
          sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
          Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
          Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode