Dirk: Vorschau von Checkboxen und Radiobuttons in Formularen

Hallo und einen schönen Tag!
Ich habe Probleme mit Checkboxen und Radiobuttons.
Ich möchte bestimmte variable Werte in einer Vorschau aus einem Formular übernehmen können. Bei Textfeldern funktioniert es !
Siehe hierzu einen Auszug meines Scriptes:

<script language="JScript"><!--
function vorschau() {
anrede = document.onlineanfrage.anrede.value;
vorname = document.onlineanfrage.vorname.value;
name = document.onlineanfrage.name.value;

ausgabe = ("<HEAD><TITLE>Vorschau</TITLE></HEAD>");
ausgabe = (ausgabe + "<BODY BGCOLOR='#FFFFFF' onBlur='setTimeout("self.focus()",250)'><P><BR>");
ausgabe = (ausgabe + "Folgende Daten wurden eingegeben:<P>");
ausgabe = (ausgabe + "<B>"+ anrede + "<BR>" + vorname + "</BR>" + name + "</B>");
etc. etc.
ausgabe = (ausgabe + "<P>Danke für Ihr eMail.");
ausgabe = (ausgabe + "</BODY></HTML>");
neuesFenster=window.open("","Fenster","width=800,height=600")
neuesFenster.document.writeln(ausgabe)
neuesFenster.document.close();

Für jede Hilfe oder Erweiterungshinweise für das Script wäre ich sehr dankbar.

Gruß Dirk

  1. moin

    Ich habe Probleme mit Checkboxen und Radiobuttons.
    Ich möchte bestimmte variable Werte in einer Vorschau aus einem Formular übernehmen können. Bei Textfeldern funktioniert es !
    Siehe hierzu einen Auszug meines Scriptes:

    Schön und gut aber wo liegt das genaue Problem "mit Checkboxen und Radiobuttons". Die Werte übernimmst du auch nur per value.....

    Bitte genauer definieren!!! (oder ich verstehe da irgendwas nicht)

    cu

    1. moin

      Ich habe Probleme mit Checkboxen und Radiobuttons.
      Ich möchte bestimmte variable Werte in einer Vorschau aus einem Formular übernehmen können. Bei Textfeldern funktioniert es !
      Siehe hierzu einen Auszug meines Scriptes:

      Schön und gut aber wo liegt das genaue Problem "mit Checkboxen und Radiobuttons". Die Werte übernimmst du auch nur per value.....

      Bitte genauer definieren!!! (oder ich verstehe da irgendwas nicht)

      cu

      Hallo code2i,
      hier ist erst mal mein ganzes Script:
      <script language="JScript"><!--
      function vorschau() {
      anrede = document.onlineanfrage.anrede.value;
      vorname = document.onlineanfrage.vorname.value;
      name = document.onlineanfrage.name.value;
      firma1 = document.onlineanfrage.firma1.value;
      firma2 = document.onlineanfrage.firma2.value;
      abteilung = document.onlineanfrage.abteilung.value;
      funktion = document.onlineanfrage.funktion.value;
      strasse = document.onlineanfrage.strasse.value;
      plz = document.onlineanfrage.plz.value;
      ort = document.onlineanfrage.ort.value;
      telefon = document.onlineanfrage.telefon.value;
      telefax = document.onlineanfrage.telefax.value;
      email = document.onlineanfrage.email.value;
      internet = document.onlineanfrage.internet.value;
      arbeitsplatzeinrichtung = document.onlineanfrage.arbeitsplatzeinrichtung.value;
      ausbildungssysteme = document.onlineanfrage.ausbildungssysteme.value;
      messgeraete = document.onlineanfrage.messgeraete.value;
      arbeitsplatzzubehoer = document.onlineanfrage.arbeitsplatzzubehoer.value;
      fachberatung = document.onlineanfrage.fachberatung.value;
      telefonauskunft = document.onlineanfrage.telefonauskunft.value;
      newsletterservice = document.onlineanfrage.newsletterservice.value;
      mitteilung = document.onlineanfrage.mitteilung.value;

      ausgabe = ("<HEAD><TITLE>Vorschau</TITLE></HEAD>");
      ausgabe = (ausgabe + "<BODY BGCOLOR='#FFFFFF' onBlur='setTimeout("self.focus()",250)'><P><BR>");
      ausgabe = (ausgabe + "Folgende Daten wurden eingegeben:<P>");
      ausgabe = (ausgabe + "<B>"+ anrede + "<BR>" + vorname + "</BR>" + name + "</BR>" + firma1 + "</BR>" + firma2 + "</BR>" + abteilung + "</BR>" + funktion + "</BR>" + strasse + "</BR>" + plz + "</BR>" + ort + "</BR>" + telefon + "</BR>" + telefax + "</BR>" + email + "</BR>" + internet + "</BR>" + arbeitsplatzeinrichtung + "</BR>" + ausbildungssysteme + "</BR>" + messgeraete + "</BR>" + arbeitsplatzzubehoer + "</BR>" + fachberatung + "</BR>" + telefonauskunft + "</BR>" + newsletterservice + "</BR>" + mitteilung + "</B>");
      ausgabe = (ausgabe + "<P>Danke für Ihr eMail.");
      ausgabe = (ausgabe + "</BODY></HTML>");
      neuesFenster=window.open("","Fenster","width=800,height=600")
      neuesFenster.document.writeln(ausgabe)
      neuesFenster.document.close();
      }
      // -->
      </script>

      Ab dem Punkt "Arbeitsplatzeinrichtung" bis "Newsletterservice" handelt es sich im Bodybereich der Seite um Checkboxen.
      Sind diese ausgewählt worden, kommt ein Seitenaufbau der Vorschau nicht mehr zustande! Ich kann aber keinen Fehler ausmachen.
      Lasse ich es bei dem Script für die Vorschau bei den Punkten "Anrede" bis zum "Internet" werden diese Daten korrekt im neuen Vorschaufenster angezeigt. Hierbei handelt es sich aber nur um freie Textfelder.

      Ich hoffe jetzt habe ich mich klarer ausgedrückt.
      Könnte ich dir unter Umständen die ganze Html-Seite evtl. zukommen lassen?

      Vorerst danke für deine Antwort.

      Gruss Dirk

      1. Hallo,

        [...]
        arbeitsplatzeinrichtung = document.onlineanfrage.arbeitsplatzeinrichtung.value;
        ausbildungssysteme = document.onlineanfrage.ausbildungssysteme.value;
        messgeraete = document.onlineanfrage.messgeraete.value;
        arbeitsplatzzubehoer = document.onlineanfrage.arbeitsplatzzubehoer.value;
        fachberatung = document.onlineanfrage.fachberatung.value;
        telefonauskunft = document.onlineanfrage.telefonauskunft.value;
        newsletterservice = document.onlineanfrage.newsletterservice.value;
        [...]

        Ab dem Punkt "Arbeitsplatzeinrichtung" bis "Newsletterservice" handelt es sich im Bodybereich der Seite um Checkboxen.
        Sind diese ausgewählt worden, kommt ein Seitenaufbau der Vorschau nicht mehr zustande! Ich kann aber keinen Fehler ausmachen.
        Lasse ich es bei dem Script für die Vorschau bei den Punkten "Anrede" bis zum "Internet" werden diese Daten korrekt im neuen Vorschaufenster angezeigt. Hierbei handelt es sich aber nur um freie Textfelder.

        Checkboxen kannst du AFAIK nicht mit value auslesen. Dazu musst du über einen Index alle checkboxen einer Gruppe durchgehen und auf die Eigenschaft "checked" prüfen:

        for (i=0; i<AnzahlDerCheckboxenInDieserGruppe; i++)
          if (document.onlineanfrage.arbeitsplatzeinrichtung[i].checked) {
            arbeitsplatzeinrichtung = i;
            break;
          }

        Es ginge auch:

        for (arbeitsplatzeinrichtung=0; arbeitsplatzeinrichtung<AnzahlDerCheckboxenInDieserGruppe; arbeitsplatzeinrichtung++)
          if (document.onlineanfrage.arbeitsplatzeinrichtung[i].checked)  break;

        ist aber IMHO nicht so schön, da es teorethisch auch sein kann, das keine Checkbox gewählt wurde.

        Der Wert von arbeitsplatzeinrichtung ist dann die Nummer der Checkbox, die gewählt wurde (beginnend bei 0).

        Robert

        http://www.designauswahl.here.de
        mit kostenlosem Webseiten-Generator ROBE.dit
        [more than a HTMLE.dit]

      2. Ab dem Punkt "Arbeitsplatzeinrichtung" bis "Newsletterservice" handelt es sich im Bodybereich der Seite um Checkboxen.
        Sind diese ausgewählt worden, kommt ein Seitenaufbau der Vorschau nicht mehr zustande! Ich kann aber keinen Fehler ausmachen.

        Checkboxen haben im gewöhnlichen Sinne keinen "value" in Javascript, da mehrere von ihnen zusammengefaßt eine Gruppe bilden können. Du hast es also mit einem Array zu tun, dessen einzelne Elemente einen value haben, und auch die Eigenschaft selected, wenn die jeweilige Checkbox gewählt wurde.

        Lies </selfhtml/javascript/objekte/elements.htm> (Beschreibung des Elements-Objekts).

        - Sven Rautenberg