cross: submit() - funzt in FF, aber nicht in IE

Hallo Forum,

habe schon im Archiv gesucht, aber keine klare Lösung für mein Problem gefunden, deshalb frage ich hier nochmal:

es geht um folgenden JS-Code:

  
<form action="./index.php?s=1&act=perso&c=4&f=1&CODE=08&id=28" name="upd6" method="POST" style="display:inline;">  
<a href="#" onClick="document.forms.upd6.submit();">01.05.2006</a>  
<input type="hidden" name="pressen" value="1152770314"></form>  

Ich weiß, ist nicht gerade die feine englische Art, aber das ist nur ein Testscript. In FF 1.5.04 funktioniert das versenden des Formulars fehlerlos, aber im IE 6.0.2900.2180.xpsp_sp2_gdr.050501-1516 (haben die nix anderes zu tun, als sich so eine bescheuerte Versionsnummer auszudenken? :) ) kommt die Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

Warum, oder besser: warum gibts noch User, die IE verwenden? .. ;)

Könnte es sein, das der IE nicht damit klarkommt, dass der Link für das submit innerhalb des Formulars liegt und somit das Form für den IE noch gar nicht geladen ist, oder bin ich da auf dem Holzweg? Für Tipps wäre ich echt dankbar.

MfG
cross

--

cheValo Webdesign e.K.
http://www.chevalo.net
  1. moin cross :)

    es geht um folgenden JS-Code:

    <form action="./index.php?s=1&act=perso&c=4&f=1&CODE=08&id=28" name="upd6" method="POST" style="display:inline;">
    <a href="#" onClick="document.forms.upd6.submit();">01.05.2006</a>
    <input type="hidden" name="pressen" value="1152770314"></form>

      
    Ich kann dein Problem nicht nachvollziehen. Dieses Schnipselchen "funktioniert" bei mir sowohl in FF als auch in IE (6.0.290foo). Also der Link wird zumindest ausgeführt. Da ich deine index.php nicht habe, bekomme ich hier natürlich einen Fehler.  
    Liegts vielleicht doch an einem anderen Teil?  
      
    liebe Grüße aus Berlin  
    lina-
    
    -- 
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:) 
    
    1. Hallo lina,

      Ich kann dein Problem nicht nachvollziehen. Dieses Schnipselchen "funktioniert" bei mir sowohl in FF als auch in IE (6.0.290foo). Also der Link wird zumindest ausgeführt. Da ich deine index.php nicht habe, bekomme ich hier natürlich einen Fehler.
      Liegts vielleicht doch an einem anderen Teil?

      nein, der Fehler wird in Zeile 605 erzeugt und dort steht ausschließlich dieser Code drin. An der Index.php liegts definitiv nicht.

      Trotzdem Danke!

      MfG
      cross

      --

      cheValo Webdesign e.K.
      http://www.chevalo.net
      1. Hi,

        nein, der Fehler wird in Zeile 605 erzeugt und dort steht ausschließlich dieser Code drin.

        <a href="#" onClick="document.forms['upd6'].submit();">01.05.2006</a>?

        Vom Fehler abgesehen schließe ich mich aber meinen Vorrednern an: Ein ... Konstruktion (will ja nicht ausfallend werden >;->). Nimm einen (Submit-)Button und formatiere ihn mittels CSS so, daß er wie ein Link aussieht. Und wenn Du einen Hover-Effekt brauchst: *Den* kann man auf dem IE ja dann mit JS machen.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. hi,

    <a href="#" onClick="document.forms.upd6.submit();">01.05.2006</a>

    In FF 1.5.04 funktioniert das versenden des Formulars fehlerlos, aber im IE 6.0.2900.2180.xpsp_sp2_gdr.050501-1516 (haben die nix anderes zu tun, als sich so eine bescheuerte Versionsnummer auszudenken? :) ) kommt die Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

    Hast du irgendein anderes Element mit dem Namen/der ID "submit" im Formular?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. moin wahsaga :)

      Hast du irgendein anderes Element mit dem Namen/der ID "submit" im Formular?

      Wo du diese Frage grad stellst, fällt mir auch ein, dass ich mal ein ähnlich gelagertes Problem hatte. Und zwar hatte ich an einer ganz anderen Stelle der Datei eine Id namens "action". Damit kommt der IE auch gar nicht zurande.

      liebe Grüße aus Berlin
      lina-

      --
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. Hi lina,

        Wo du diese Frage grad stellst, fällt mir auch ein, dass ich mal ein ähnlich gelagertes Problem hatte. Und zwar hatte ich an einer ganz anderen Stelle der Datei eine Id namens "action". Damit kommt der IE auch gar nicht zurande.

        nein, auch nicht.

        MfG
        cross

        --

        cheValo Webdesign e.K.
        http://www.chevalo.net
    2. Hallo wahsaga,

      Hast du irgendein anderes Element mit dem Namen/der ID "submit" im Formular?

      nope, sicher nicht, denn dann würde auch FF meckern - da klappt es aber problemlos :/

      MfG
      cross

      --

      cheValo Webdesign e.K.
      http://www.chevalo.net
      1. hi,

        Hast du irgendein anderes Element mit dem Namen/der ID "submit" im Formular?

        nope, sicher nicht, denn dann würde auch FF meckern

        Beim Namen schon - bei einer ID aber nicht.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. <a href="#" onClick="document.forms.upd6.submit();">01.05.2006</a>

    Was habt ihr eigentlich alle gegen

    <input type="submit" value="01.05.2006"/>

    ?

    Für so einen Unsinn wird man dann gezwungen, JavaShit einzuschalten, onwohl's mindestens genausogut auch ohne ginge.

    Gruß, Bodo

    1. Hallo Bodo!

      Was habt ihr eigentlich alle gegen

      <input type="submit" value="01.05.2006"/>

      Weil vielen, denen ich bisher über den Weg lief, nicht klar ist, dass man mittels CSS einen Button fast wie einen Link aussehen lassen kann. (Nur eben keine Hover Effekte im IE)

      Schönen Gruß

      Afra

      1. Hallo afra,

        Weil vielen, denen ich bisher über den Weg lief, nicht klar ist, dass man mittels CSS einen Button fast wie einen Link aussehen lassen kann. (Nur eben keine Hover Effekte im IE)

        Umgekehrt.

        Beste Grüße

        1. Hallo Richard!

          Umgekehrt.

          Dumme Frage: Was meinst Du damit?

          Schönen Gruß

          Afra

          1. Hallo afra,

            Dumme Frage: Was meinst Du damit?

            Les nochmal genau:

            "[...] dass man mittels CSS einen Button fast wie einen Link aussehen lassen kann."

            Ich sage: du meintest es umgekehrt.

            Beste Grüße

            1. Hallo!

              Ich sage: du meintest es umgekehrt.

              Nein, ich meinte, dass man einen Button wie einen Anker aussehen lassen kann und es daher unnötig ist, einen Anker mit JavaScript für einen Submit zu benutzen. Lies nochmals genauer. ;) (Ausser eben den HOVER-Effekten)

              Schönen Gruß

              Afra

    2. Hallo Bodo,

      Was habt ihr eigentlich alle gegen

      <input type="submit" value="01.05.2006"/>

      Gegenfrage: Was habt ihr eigentlich alle gegen

        
      <button type="submit">  
      <img src=... alt=..>Text neben dem Bild  
      <p>  
      Sogar ein neuer Absatz  
      </p>  
      </button>  
      
      

      Beste Grüße

      1. Hallo Richard,

        Gegenfrage: Was habt ihr eigentlich alle gegen

        ich hab gar nichts gegen buttons, ehr im Gegenteil. ABER mache Applikationen erfordern, das eben KEIN Button dort sein kann/darf.

        Stelle Dir eine Tabelle vor, in der Termine als Datum stehen. Wenn ein Termindatum verfallen ist, dann ist es lt. Vorgabe nötig, dieses Datum zu kennzeichnen (roter Hintergrund). Gleichzeitig muss man dann einfach auf dieses verfallene Datum klicken können, um es neu zu setzen. Es sieht schlicht scheisse aus, wenn in einer Tabelle mit lauter Daten auf einmal Buttons dazwischen sind.

        Wäre das Grund genug? .. ;-)

        MfG
        cross

        --

        cheValo Webdesign e.K.
        http://www.chevalo.net
        1. Hallo Richard,

          Gegenfrage: Was habt ihr eigentlich alle gegen

          ich hab gar nichts gegen buttons, ehr im Gegenteil. ABER mache Applikationen erfordern, das eben KEIN Button dort sein kann/darf.

          Dann ersetze mit JavaScript den button durch einen Link. Wenn JavaScript da ist, stört diese Vorgehensweise nicht, und wenn JavaScript nicht da ist, ist die Seite wenigstens noch benutzbar.

          Stelle Dir eine Tabelle vor, in der Termine als Datum stehen. Wenn ein Termindatum verfallen ist, dann ist es lt. Vorgabe nötig, dieses Datum zu kennzeichnen (roter Hintergrund). Gleichzeitig muss man dann einfach auf dieses verfallene Datum klicken können, um es neu zu setzen. Es sieht schlicht scheisse aus, wenn in einer Tabelle mit lauter Daten auf einmal Buttons dazwischen sind.

          Weniger scheiße ist es hingegen, wenn einfach alle Daten als Buttons angezeigt werden. Außerdem kann man Buttons mittels CSS wie Links aussehen lassen, auch von daher sehe ich da nicht wirklich ein Argument.

          Wäre das Grund genug? .. ;-)

          Gruß, Bodo

        2. Hallo cross!

          Stelle Dir eine Tabelle vor, in der Termine als Datum stehen. Wenn ein Termindatum verfallen ist, dann ist es lt. Vorgabe nötig, dieses Datum zu kennzeichnen (roter Hintergrund). Gleichzeitig muss man dann einfach auf dieses verfallene Datum klicken können, um es neu zu setzen. Es sieht schlicht scheisse aus, wenn in einer Tabelle mit lauter Daten auf einmal Buttons dazwischen sind.

          Hättest Du eines meiner anderen Postings gelesen, dann wüsstest Du, was man als Webentwickler eigentlich sowieso wissen sollte, dass man mittels CSS Buttons wunderbar wie einen normalen Link aussehen lassen kann. Sogar die Hintergrundfarbe kann man ändern. (wirklich! *SCNR)

          Schönen Gruß

          Afra

          1. Hallo.

            Hättest Du eines meiner anderen Postings gelesen, dann wüsstest Du, was man als Webentwickler eigentlich sowieso wissen sollte, dass man mittels CSS Buttons wunderbar wie einen normalen Link aussehen lassen kann. Sogar die Hintergrundfarbe kann man ändern. (wirklich! *SCNR)

            Einen Browser, der das mitmacht, natürlich vorausgesetzt.
            MfG, at

            1. Hallo at.

              Hättest Du eines meiner anderen Postings gelesen, dann wüsstest Du, was man als Webentwickler eigentlich sowieso wissen sollte, dass man mittels CSS Buttons wunderbar wie einen normalen Link aussehen lassen kann. Sogar die Hintergrundfarbe kann man ändern. (wirklich! *SCNR)

              Einen Browser, der das mitmacht, natürlich vorausgesetzt.

              Und einen „richtigen“ http://de.selfhtml.org/html/formulare/klickbuttons.htm#modern@title=Button natürlich auch vorausgesetzt.

              Einen schönen Montag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
              [HTML Design Constraints: Logical Markup]
      2. Hi,

        Gegenfrage: Was habt ihr eigentlich alle gegen
        <button type="submit">

        Button ist problematisch, da IE nicht korrekt damit umgehen kann (statt des values wird der content gesendet, bei mehreren <button type="submit"> wird nicht nur der benutzte gesendet, sondern alle, ...)

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    3. Hallo Bodo,

      Für so einen Unsinn wird man dann gezwungen, JavaShit einzuschalten, onwohl's mindestens genausogut auch ohne ginge.

      als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen. Natürlich kann man das auch ohne machen, aber dann wird bspw jede Überprüfung eines Formulars an den Server geschickt, um es mit php zu checken - das erzeugt ne Menge unnötigen Traffic, im Gegensatz zu JS, dass das Form erstmal clientseitig prüft, bevor es abgeschickt wird. JS selbst ist sehr nützlich - unnütze sind dagegen Programmierer, die damit böse Sachen machen.

      MfG
      cross

      --

      cheValo Webdesign e.K.
      http://www.chevalo.net
      1. Hallo cross!

        als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.

        Das mag der einzige Grund sein. Ohne JavaScript funktioniert aber beim vorgenannten Beispiel das Formular überhaupt nicht mehr. Daher sollte man _nur_ die Validierung onsubmit (im Form Tag) ausführen und eine Fallbackimplementierung serverseitig haben, die die Inhalte nochmals testet.

        Schönen Gruß

        Afra

        1. als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.

          Das mag der einzige Grund sein. Ohne JavaScript funktioniert aber beim vorgenannten Beispiel das Formular überhaupt nicht mehr. Daher sollte man _nur_ die Validierung onsubmit (im Form Tag) ausführen

          Womit Du Deinen ersten Satz bereits selbst wiederlegt hättest ;)

          und eine Fallbackimplementierung serverseitig haben, die die Inhalte nochmals testet.

          Um die Serverseitige überprüfung kommt man sowieso nicht herum, weil ich mir sonst den HTML-Code anschaue und dann mittels netcat oder mit anderen ähnlichen Methoden absichtlich falsche Daten abliefere.

          Gruß, Bodo

          1. Hallo Bodo!

            als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.

            Das mag der einzige Grund sein. Ohne JavaScript funktioniert aber beim vorgenannten Beispiel das Formular überhaupt nicht mehr. Daher sollte man _nur_ die Validierung onsubmit (im Form Tag) ausführen

            Womit Du Deinen ersten Satz bereits selbst wiederlegt hättest ;)

            Nein, denn dann kann das Forumular dennoch abgesendet werden. Bei einem reinen JavaScript Anker aber nicht. Wieso wiederhole ich mich eigentlich dauernd? In meinem Satz meinte ich natürlich mit "vorgenannt" den OP.

            Schönen Gruß

            Afra

            1. Nein, denn dann kann das Forumular dennoch abgesendet werden. Bei einem reinen JavaScript Anker aber nicht.

              Ja, hast recht, hab da zu oberflächlich gelesen. Natürlich braucht man JS, nur eben nicht im Anker ...

              Gruß, Bodo

      2. hi,

        als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.

        Was hat das mit dem konkreten Fall zu tun, wo du aus rein optischen Gründen kein Formularelement verwenden magst?

        JS selbst ist sehr nützlich - unnütze sind dagegen Programmierer, die damit böse Sachen machen.

        Also du, in diesem Falle?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.

          Was hat das mit dem konkreten Fall zu tun, wo du aus rein optischen Gründen kein Formularelement verwenden magst?

          JS selbst ist sehr nützlich - unnütze sind dagegen Programmierer, die damit böse Sachen machen.

          Also du, in diesem Falle?

          gruß,
          wahsaga

          wer lesen kann, ist klar im Vorteil. Es ging um die Grundsatzfrage JS oder nicht JS und hatte, wie du ganz richtig bemerktest, nichts mit dem eigentlichen Thema zu tun. Trotzdem Antworte ich aus gegebener Höflichkeit ab und zu auf Postings, die Off-Topic sind.

          MfG
          cross

          --

          cheValo Webdesign e.K.
          http://www.chevalo.net
          1. hi,

            Trotzdem Antworte ich aus gegebener Höflichkeit ab und zu auf Postings, die Off-Topic sind.

            Off-Topic hast du dich zuerst begeben, nachdem du auf Bodos themenbezogenen Hinweis, dass Javascript für das _konkret_ von dir vorgetragene Problem keine "Lösung", sondern vielmehr eine Einschränkung ist, dich in den  Vorzügen von Javascript allgemein und zum Serverlast sparen und überhaupt (und Universum, und ganzer Rest, ...) ergingst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Nur eine Vermutung, weil ich mich an ähnliche Probleme erinnere:

    1. Ist der Ref innerhalb des Formulars, also ein echter Nachkomme innerhalb der DOM-Hierarchie ?
    2. Gibt es neben dem Link auch noch den Submit-Button (den mal probeweise rausnehmen, und dann nochmals versuchen).

    Gruß, Flash

  5. Hallo zusammen,

    <form action="./index.php?s=1&act=perso&c=4&f=1&CODE=08&id=28" name="upd6" method="POST" style="display:inline;">
    <a href="#" onClick="document.forms.upd6.submit();">01.05.2006</a>
    <input type="hidden" name="pressen" value="1152770314"></form>

      
    Habe die Lösung gefunden:  
    ~~~html
      
    <form action="./index.php?s=7d9f2416b36ddc3cf9282b72d065abb8&act=perso&c=4&f=1&CODE=08&id=28" name="upd6" method="POST" style="display:inline;"><a href="javascript:document.getElementsByName('upd6')[0].submit();" >26.10.2005</a><input type="hidden" name="pressen" value="1152785470"></form>  
    
    

    Diese Version klappt in beiden Browsern.

    MfG
    cross

    --

    cheValo Webdesign e.K.
    http://www.chevalo.net
    1. Mahlzeit,

      <form action="./index.php?s=7d9f2416b36ddc3cf9282b72d065abb8&act=perso&c=4&f=1&CODE=08&id=28" name="upd6" method="POST" style="display:inline;"><a href="javascript:document.getElementsByName('upd6')[0].submit();" >26.10.2005</a><input type="hidden" name="pressen" value="1152785470"></form>

      diese Lösung ist immer noch suboptimal, weil sie zwingend auf Javascript aufbaut, anstatt die durch HTML gegebenen Möglichkeiten von HTML zu nutzen.

      Diese Version klappt in beiden Browsern.

      "beiden"?
      Ich kenne selbst schon deutlich mehr als zwei Browser. Und das ist sicher nur ein kleiner Bruchteil der tatsächlich existierenden ...

      Ciao,
       Martin

      --
      Faulheit ist, mit dem Cocktailshaker in der Hand auf das nächste Erdbeben zu warten.
      1. Hallo Martin,

        Diese Version klappt in beiden Browsern.

        "beiden"?
        Ich kenne selbst schon deutlich mehr als zwei Browser. Und das ist sicher nur ein kleiner Bruchteil der tatsächlich existierenden ...

        klar hast Du recht. Aber in diesem Thema bezog ich mich nur auf diese beiden. Vielleicht hätte ich dazuschreiben sollen, das es sich bei diesem Projekt um ein Firmenintranet handelt, das mit in keinster Weise mit dem Internet verbunden ist. Und in dieser Firma gibt es nur FF und IE. :)

        MfG
        cross

        --

        cheValo Webdesign e.K.
        http://www.chevalo.net
    2. Hi,

      Habe die Lösung gefunden:

      Na, wenigstens ist dir die Schreibweise von DOM Level 2 geläufig. Wie es mit DOM Level 0 aussieht hättest Du auch meinem Posting entnehmen können ...

      Diese Version klappt in beiden Browsern.

      Sofern es sich nicht um IE 4 oder älter handelt. Du bist sicher, daß wer solch "altertümlichen" Code verwendet, nicht auch so alte Browser hat? >>;->

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  6. Moin!

    <form action="./index.php?s=1&act=perso&c=4&f=1&CODE=08&id=28">

      
    Diese action-URL ist falsch codiert. Es gibt keine Entities &act;, &c; und so weiter, der mangelnden Fehlerkorrektur der Browser sei Dank, dass deshalb die &-Zeichen korrekt durchgelassen werden.  
      
    Korrekt wäre, alle &-Zeichen als &amp; in der URL zu schreiben. Zum Beweis empfehle ich einfach nur mal, einen Parameter "copy" durchschleusen zu wollen.  
      
     - Sven Rautenberg
    
    -- 
    "Love your nation - respect the others."