Marcus: (ASP + JavaScript) Alten Zustand wiederherstellen !

Hallo Leute !

Ich habe ein Formular wo einige Drop-Down-Boxen drin sind.

Wenn ich das Formular abschicke, werden die Daten in
eine Access DB geschrieben.

Nun will ich die Möglichkeit anbieten das Formular
korrigieren zu lassen.

D.h. Die Auswahl in den Drop-Down-Boxen sollen mit
übernommern werden.

Bloss wie mache ich das ???

Hab folgendes schon probiert:

function korrektur()
{

if (document.Fidi.bahncard.value = "Keine")
{
document.Fidi.bahncard.options[1].selected;
}
else if (document.Fidi.bahncard.value = "1.KL")
{
document.Fidi.bahncard.options[2].selected;
}
else if (document.Fidi.bahncard.value = "2.KL")
{
document.Fidi.bahncard.options[3].selected;
}
}

Jedoch erscheint in der Dropdownbox immer der Wert von Keine obwohl 1.Klasse in der DB steht

Weiß jemand Rat ???

mfg

Marcus

  1. if (document.Fidi.bahncard.value = "Keine")
    {
    document.Fidi.bahncard.options[1].selected;
    }

    Hallo,

    ich denke, daß der Fehler beim if(..) Konstrukt liegt. JS verlangt für Vergleiche doppelte Gleichheitszeichen.

    if(document.Fidi.bahncard.value == "Keine")
        {
        ...
        }

    Probiers mal so.

    Tschau, Stefan

    1. Hi !

      Leider funktioniert das mit == nicht !

      Kennst Du sonst noch eine andere Lösung ????

      Das Problem hab ich auch bei Checkboxen und Radiobuttons

      Wäre schön wenn irgendjemand eine Lösung hätte !

      bis denne
      thx & cu

      Marcus

  2. Wenn ich das Formular abschicke, werden die Daten in
    eine Access DB geschrieben.

    Nun will ich die Möglichkeit anbieten das Formular
    korrigieren zu lassen.

    D.h. Die Auswahl in den Drop-Down-Boxen sollen mit
    übernommern werden.

    Hallo,

    ich denke, da habe ich eben den Sinn der Sache nicht erkannt.

    Wenn ich ein Listenfeld aus einer Datenbanktabelle erstelle, wende ich folgendes Schema an:

    <select name="List_ID" size="1">
    <%
    Set ListRS = Server.CreateObject("ADODB.Recordset")
        ListRS.Open "Select List_ID, List_Name FROM tblList"
        Do While Not ListRS.EOF
            If ListRS.Fields("List_ID") = Request("List_ID") Then
                strSelected = " selected"
                Else
                    strSelected = ""
            End if
            Response.Write "<option " & strSelected & " value=""" & ListRS.Fields("List_ID") & """>" & ListRS.Fields("List_Name")
        ListRS.MoveNext
        Loop
        ListRS.Close
    Set ListRS = Nothing
    %>
    </select>

    Das ganze liest die Inhalte der Listenfelder aus einer DB aus und setzt automatisch den bisher übergebenen Wert auf "selected".

    Beispiel:

    Du hast den Wert 3 übergeben, dann ist der Wert 3 (3. Stelle) nachher ausgewählt.

    Tschau, Stefan

    Sollte das immer noch nicht das sein, was Du benötigst, wären ein paar mehr Infos vielleicht nicht schlecht (oder ich hab heute nur meinen schlechten Tag, bäh, ... die Woche geht ja nu wieder gar nicht rum)

    1. Hi !

      Ich glaube das passt auch nicht ganz !

      ich habe in einer Dropdownbox 3 Einträge:

      -= Bitte auswählen =-
      1.Klasse
      2.Klasse
      ---------------------------------------

      Der Benutzer muß jetzt die 1. oder 2.Klasse auswählen
      und nur dieser Wert wird in die DB geschrieben.

      ------------------------------------------

      Bei deiner Lösung kommt mir es vor als ob alle 3 Einträge in der DB sein müssen um daraus eine DropdownBox zu erstellen.

      -------------------------------------------

      Aber es muß doch per JavaScript möglich sein eine
      Abfrage vorher durchzuführen und dementsprechend
      die einzelnen Boxen,Buttons, etc. vorzuselektieren

      mfg

      Marcus

      1. Hallo,

        jupp, bei der vorigen Lösung wird erwartet, daß Dein Listenfeld aus einer Tabelle erstellt wird (ist baer auch sinnig).

        Naja, auf ein neues.

        <select name="Klasse" size="1">
        <option <%If Request("Klasse") = "Keine" Then%>selected<%End if%> value="Keine">Keine
        <option <%If Request("Klasse") = "Erste" Then%>selected<%End if%> value="Erste">Erste Klasse
        <option <%If Request("Klasse") = "Zweite" Then%>selected<%End if%> value="Zweite">Zweite Klasse
        </select>

        So wird der übergebene Wert ausgewählt.

        Beispiel: Du überbst mit dem Listenfeld "Zweite", dann wird beim erneuten Aufruf dieser Eintrag vorselektiert.

        Tschau, Stefan

        P.S.: Wenns jetzt nicht geht, kauf ich mir nen Eimer und lasse es für heute sein (dann war das Wochenende wohl doch zu hart)

  3. Hallo,
    du hast noch einen Fehler drin.
    Anstelle von z.B. document.Fidi.bahncard.value
    mußt du document.Fidi.bahncard.options[1].value schreiben.

    Grüße
    Thomas

    function korrektur()
    {

    if (document.Fidi.bahncard.value = "Keine")
    {
    document.Fidi.bahncard.options[1].selected;
    }
    else if (document.Fidi.bahncard.value = "1.KL")
    {
    document.Fidi.bahncard.options[2].selected;
    }
    else if (document.Fidi.bahncard.value = "2.KL")
    {
    document.Fidi.bahncard.options[3].selected;
    }
    }

    Jedoch erscheint in der Dropdownbox immer der Wert von Keine obwohl 1.Klasse in der DB steht

    Weiß jemand Rat ???

    mfg

    Marcus

    1. Hallo Thomas !

      Leider funktioniert Deine Lösung auch nicht ! :(

      aber trotzdem DANKE

      mfg

      Marcus

      Hallo,
      du hast noch einen Fehler drin.
      Anstelle von z.B. document.Fidi.bahncard.value
      mußt du document.Fidi.bahncard.options[1].value schreiben.

      Grüße
      Thomas

      function korrektur()
      {

      if (document.Fidi.bahncard.value = "Keine")
      {
      document.Fidi.bahncard.options[1].selected;
      }
      else if (document.Fidi.bahncard.value = "1.KL")
      {
      document.Fidi.bahncard.options[2].selected;
      }
      else if (document.Fidi.bahncard.value = "2.KL")
      {
      document.Fidi.bahncard.options[3].selected;
      }
      }

      Jedoch erscheint in der Dropdownbox immer der Wert von Keine obwohl 1.Klasse in der DB steht

      Weiß jemand Rat ???

      mfg

      Marcus