Joerg Dutschke: SPAN - FORM - Submit-Problem

Hallo!

Ich habe auf einer Site folgendes Konstrukt zusammengestöpselt:
(auf das wesentliche gekürzt)

<span id="bewertung" style="color:#5997D1;>
<form method="post" id="Seiten" action="machwas" onsubmit="Bewertung();return;">
Seite Bewerten
<script language="JavaScript">
{
 document.write("<input type='hidden' value=' "+ document.title +"'>");
}
</script>
<table cellspacing="0" cellpadding="0" border="0"  width="50%" align="left">
<tr>
   <td width="49" class="votetextranking" style="padding-right:10px;">schlecht</td>
   <td width="20"> </td>
   <td><input type="Radio" type="submit" name="ranking" value="1" ></td>
   <td width="8" class="votetext">1</td>
   <td nowrap width="60"  class="votetextranking" style="padding-left:10px;">sehr gut</td>
   <td width="20"> </td>
   <td><input type="image" src="images/senden.gif" width="50" height="18" hspace="10" border="0" type="submit" name="Bewertung absenden" alt="Bewertung absenden"></td>
</tr>
</table>
</form>
</span>

Das Problem bei der Sache ist, daß zumindest der IE (mit anderen Browsern habe ich noch nicht getestet) dann kein Submit mehr ausführt.
Nehme ich den SPAN-Tag in das Formular, klappt das document.write nicht mehr (wird einfach so wie es ist auf die Seite geschrieben), aber das Submit funzt wieder.

Ich brauche aber die document.write-Zeile, damit ich dann später mal via Script auch die Seite, welche bewertet wurde, bekomme.

Außerdem möchte ich nach erfolgreichem Submit, das Formular gegen eine Danksagung (ein weiteres Span) "austauschen". Letzteres Funzt auch hervorragend, solange natürlich das Submit klappt.

Nur ... wie kann ich das jetzt zusammensetzen, daß eine funktionierende Version rauskommt?
Any tips?

  1. Joerg

    Nur ... wie kann ich das jetzt zusammensetzen, daß eine funktionierende Version rauskommt?
    Any tips?

    Leider keine tipps, aber eine Meinung. Mich dünkt das Ganze sehr verworren. Wenn ich Dich richtig verstanden habe, dann machst du z.B. die Dankesmeldung durch ein/ausblenden von "Ebenen". Hieraus resultiert ja auch die ganze SPAN Problematik. Dieses Vorgehen kann ich nicht ganz nachvollziehen. Wieso sendet Dir das Script welches Du mit dem FORM startest nicht die Dankesformel? Das würde zumindest dem gängigen Vorgehen entsprechen!

    cheers
    kaepten

    1. Hi kaepten!

      Leider keine tipps, aber eine Meinung. Mich dünkt das Ganze sehr verworren. Wenn ich Dich richtig verstanden habe, dann machst du z.B. die Dankesmeldung durch ein/ausblenden von "Ebenen". Hieraus resultiert ja auch die ganze SPAN Problematik. Dieses Vorgehen kann ich nicht ganz nachvollziehen. Wieso sendet Dir das Script welches Du mit dem FORM startest nicht die Dankesformel? Das würde zumindest dem gängigen Vorgehen entsprechen!

      Hmmm ... wenn ich es mit Perl machen würde, wie bekomme ich dann die Dankesformal an genau die Stelle der gleichen Seite, ohne die Seite deswegen neuladen zu müssen?

      Mir dünkt, daß der von mir angestrebte Weg doch irgendwo einleuchtend ist. Ich brauche nach dem Absenden keinen neuen Seitenaufbau (das Formular ist nur ein winziges Detail am Rande der Seite und deswegen deucht mich ein neuer Seitenaufbau eher als störend). Und das geht leider nicht über ein Script (denke ich mal).

      So wie es jetzt gedacht ist:
      Klick - und onsubmit ruft ne JS-Function auf, welche das eine Span wegblendet und das Dankes-SPAN einblendet ... eigentlich doch einfach, oder?
      Wenn es funzen würde .... *grummel*

      Ciao
      Jörg

      1. Jörg
        Ich verstehe nun Deine Beweggründe für die gewünschte Lösung.

        Hmmm ... wenn ich es mit Perl machen würde, wie bekomme ich dann die Dankesformal an genau die Stelle der gleichen Seite, ohne die Seite deswegen neuladen zu müssen?

        Meine Meinung dazu ist, dass wenn vom Benutzer irgendwelche Daten abgeschickt hat, dann auch eine deutliche Danksagung ev. sogar mit der nochmaligen Anzeige der übermittelten Daten erhalten soll. Diese Dankesseite kann einen dicken-deutlichen Link zurück zur vorherigen Seite beinhalten - oder im maximum sogar nach wenigen Sekunden diese Seite selber laden. Ob das einbauen in eine "bestehnde" Seite klug ist wage ich zu bezweifeln. Ich sags mal so: "Man" ist sich einfach gewohnt, dass die Reaktion auf eine Übermittlung eine neue Seite bzw. ein eindeutiges Feedback ist. Deine Lösung wäre (unbestritten) elegant, aber könnte ev. auch zu verwirrung führen.

        Mir dünkt, daß der von mir angestrebte Weg doch irgendwo einleuchtend ist. Ich brauche nach dem Absenden keinen neuen Seitenaufbau (das Formular ist nur ein winziges Detail am Rande der Seite und deswegen deucht mich ein neuer Seitenaufbau eher als störend). Und das geht leider nicht über ein Script (denke ich mal).

        Wie gesagt: ich versteh Deinen Weg und er ist nicht abwägig. Ich lese hier aber heraus, dass es sich auch aus performancegründen anbieten könnte. So gross wird der nicht sein und ich würde das nicht überbewerten. Die ursprüngliche Seite würde flott geladen werden! Aber noch was: Das Script dass Du ansprichst. Als Resultat wird vom Server immer etwas geschickt. Das kannst Du nicht umgehen und drum gibts auch oft "Dankesseiten" diese sind manchmal mehr aus dem technischen Umstand heraus entstanden.

        cheers
        kaepten

        1. Hi kaepten!

          Danke für Deine Meinung ...
          Klar verstehe ich auch Deine Aussage ... und ich kenne es ja auch nicht anders :-) ... aber schade ist es schon, wenn das nichtklappen sollte ...

          BTW:
          Das Problem stellt sich nicht mehr, wenn ich eine Möglichkeit finde, den Dokumententitel anderweitig an das verarbeitende Script zu übergeben. Also nicht über das Hidden-Feld.
          Fällt Dir dazu was ein?

          Ciao
          Jörg

          1. Die Lösung:

            Man vergißt einfach die Sache mit dem SPAN um das Formular.
            Das FORM bekommt eine eigene ID und genau die, kann man dann in einem kleinen JS "hinfortzaubern", um an der stelle ein anderes SPAN "hervorzuzaubern" ... klappt ausgezeichnet ...
            Naja .. bis auf die Positionierung, aber das ist ein kleines "Übel"

            Ciao
            Jörg