Ansicht wechseln
Herbert1204
- javascript
Hallo Ich benötige einmal Eure Hilfe. Ich habe hier eine Seite mit zwei Skripte. Ein Skript überprüft die Vollständigkeit der Eingaben und das andere Skript macht eine Tabelle unsichtbar und eine andere Tabelle sichtbar. Nun soll das Ganze so funktionieren, daß nur bei Vollständigkeit der Eingaben die andere Tabelle sichtbar gemacht wird. Dazu habe ich zum besseren Verständnis zwei Button in die eine Tabelle eingefügt. Kann mir jemand helfen?
Hier die Seite:
<SCRIPT LANGUAGE="JavaScript"> function TabelleIt(t) { v = t.id; if(v == '') { document.getElementById('Tabelle1').style.display = 'inline'; document.getElementById('Tabelle2').style.display = 'none'; } else{ document.getElementById('Tabelle1').style.display = 'none'; document.getElementById('Tabelle2').style.display = 'inline'; } } </script>
<SCRIPT LANGUAGE="JavaScript">
function validate_form() { validity = true;
if (!check_empty(document.form.Benutzername.value)){ /* Funktion Namen (Abfrage) / validity = false; show('Layer1'); / zeige Fehler / } if (!check_empty(document.form.Passwort1.value)){ / Funktion Namen (Abfrage) / validity = false; show('Layer2'); / zeige Fehler / } if (document.form.Passwort1.value != document.form.Passwort2.value){ / Passwoerter sind nicht gleich / validity = false; show('Layer3'); / zeige Fehler / } if (!check_empty(document.form.Nachname.value)){ validity = false; show('Layer4'); } if (!check_empty(document.form.Vorname.value)){ validity = false; show('Layer5'); } if (!check_empty(document.form.Strasse.value)){ validity = false; show('Layer6'); } var plz = document.form.Postleitzahl.value; if (plz.search(/^([0-9]{5})$/) == -1){ / PLZ ist falsch / validity = false; show('Layer7'); / zeige Fehler / } if (!check_empty(document.form.Wohnort.value)){ validity = false; show('Layer7'); } if (!check_empty(document.form.Telefonnummer.value)){ validity = false; show('Layer8'); } if (!check_email(document.form.EMail.value)){ / Funktion EMail (Abfrage) / validity = false; show('Layer9'); / zeige Fehler / } if (!check_checkbox(document.form.Nutzungsbedingungen.checked)){ / Funktion Comment (Abfrage) / validity = false; show('Layer10'); / zeige Fehler / } if (validity); return validity; / alle Angaben waren korrekt / } function check_empty(text) { return (text.length > 0); / gibt false zurück wenn leer / } function check_email(address) { / Email muss (@ und .) enthalten / if ((address == "") || (address.indexOf ('@') == -1) || (address.indexOf ('.') == -1)) return false; return true; } function check_checkbox(r) { return (r); / gibt false zurück wenn nicht übergebener Wert */ } if (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion.substring(0,1)) >=3)) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion.substring(0,1)) >=4)))
{var version=true}
if (document.layers){ /* Browserabfrage: Layer-Object bekannt? / ns = 1; ie = 0; }else{ ns = 0; ie = 1; } function show(name) {if (ns){ / Funktion Schicht anzeigen / document.layers['' + name].visibility = "show"; }else{ document.all['' + name].style.visibility = "visible"; } } function hide(name) { / Funktion Schicht verstecken */ if (ns){ document.layers['' + name].visibility = "hide"; }else{ document.all['' + name].style.visibility = "hidden"; } } </SCRIPT>
<form name="form" method="post" action="mailto:xxxx@t-online.de?SUBJECT=Betreff für die Mail" enctype="text/plain" onSubmit="return validate_form(this.form)">
<table border="1" width="750" id="Tabelle1"> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Benutzername</span></font>
</td> <td width="325" height="25"> <input type="text" name="Benutzername" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer1" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Bitte Benutzername angeben!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Passwort</span></font>
</td> <td width="325" height="25"> <input type="password" name="Passwort1" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer2" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Bitte Passwort angeben!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Passwort wiederholen</span></font>
</td> <td width="325" height="25"> <input type="password" name="Passwort2" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer3" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Die Passwörter stimmen nicht überein!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Nachname</span></font>
</td> <td width="325" height="25"> <input type="text" name="Nachname" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer4" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Bitte Nachname angeben!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Vorname</span></font>
</td> <td width="325" height="25"> <input type="text" name="Vorname" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer5" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Bitte Vorname angeben!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Straße und Hausnummer</span></font>
</td> <td width="325" height="25"> <input type="text" name="Strasse" style="width:325px;">
</td> <td width="250" height="25"> <div id="Layer6" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Straße und Hausnummer fehlt!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">PLZ und Wohnort</span></font>
</td> <td width="325" height="25"> <input type="text" name="Postleitzahl" style="width:45px;" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) { event.returnValue = false; } else {if(event.which < 45 || event.which > 57) returnfalse;}" maxlength="5"> <input name="Wohnort" type="text" style="width:275px;">
</td> <td width="250" height="25"> <div id="Layer7" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">PLZ oder Wohnort fehlt!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">Telefonnummer</span></font>
</td> <td width="325" height="25"> <input type="text" name="Telefonnummer" style="width:325px;" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) { event.returnValue = false; } else {if(event.which < 45 || event.which > 57) returnfalse;}" maxlength="35">
</td> <td width="250" height="25"> <div id="Layer8" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Bitte Telefonnummer angeben!</span></font></div>
</td> </tr> <tr> <td width="175" height="25"> <font face="arial"><span style="font-size:11pt;">E-Mail Anschrift</span></font>
</td> <td width="325" height="25"> <input type="text" name="EMail" style="width:325px;">
</td> <td height="25"> <div id="Layer9" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:10pt;">Die E-Mail ist nicht korrekt!</span></font></div>
</td> </tr> <tr> <td height="100" valign="middle" colspan="3"> <div id="Layer10" style="visibility:hidden;"><font color="red" face="Arial"><span style="font-size:11pt;"><b>Sie müssen noch den Nutzungsbedingungen zustimmen!</b></span></font></div> <input type="checkbox" name="Nutzungsbedingungen"><font face="Arial"><span style="font-size:11pt;">Ich stimme den <a href="http://">Nutzungsbedingungen</a> und den <a href="http">Datenschutzerklärung<a> zu.</a></span></font><p>
</td> </tr> <tr> <td width="500" align="center" valign="middle" colspan="2"> <input type="submit" value="anmelden" style="font-family:Arial; font-weight:bold; font-size:15pt; height:30px; width:120px;" onclick="hide('Layer1');hide('Layer2');hide('Layer3');hide('Layer4');hide('Layer5');hide('Layer6');hide('Layer7');hide('Layer8');hide('Layer9');hide('Layer10')"> <p> <input type="button" value="change" id="Tabelle1" onclick="TabelleIt(this);" style="font-family:Arial; font-weight:bold; font-size:15pt; height:30px; width:120px;">
</td> <td> <p> </p> </td> </tr> </table>
</form>
<table border="1" id="Tabelle2" style="display:none;"> <tr> <td width="479"> <font face="Arial"><span style="font-size:25pt;">Tabelle 2</span></font> </td> <td width="479"> <p> </p> </td> </tr> <tr> <td width="964" colspan="2"> <p> </p> <p> </p> </td> </tr> </table>
Lieber Herbert1204,
zwei Bitten, bevor es mir überhaupt möglich ist zu helfen:
1. Bitte verlinke ein online-Beispiel! In dieser Form den Code analysieren zu müssen ist eine Strafe.
2. Bitte formatiere den JS-Code durch Einrückungen, damit seine Verschachtelungen besser begriffen werden können.
Dass Du Hinweise zum Verständnis des Codes in Form von Kommentaren eingefügt hast, ist sehr lobenswert! Damit sollte das Nachverfolgen der Funktionsweise besser gelingen.
Liebe Grüße,
Felix Riesterer.
Hallo Felix
Ich habe leider nicht verstanden, was du meinst.
Ich bin nicht besonders fitt mit dieser Materie.
Ich war der Meinung, daß es ausreichen würde, wenn mann den Inhalt innerhalb der FORM ändern würde.
Hier das was ich meine:
<form name="form" method="post" action="mailto:xxxx@t-online.de?SUBJECT=Betreff für die Mail" enctype="text/plain" onSubmit="return validate_form(this.form)">
Anstatt das Daten an eine E-Mail geleitet werden, soll bei Vollständigkeit lediglich ein Skript aktiviert werden.
Lieber Herbert1204,
Ich habe leider nicht verstanden, was du meinst.
dann kann ich Dir nicht helfen.
Liebe Grüße,
Felix Riesterer.
Hallo Herbert1204,
ich habe mir nicht die Mühe gemacht, mich durch deinen eher willkürlich formatierte Code zu kämpfen. Daher nur eine Anmerkung zu dieser Zeile:
<form name="form" method="post" action="mailto:xxxx@t-online.de?SUBJECT=Betreff für die Mail" enctype="text/plain" onSubmit="return validate_form(this.form)">
Hier willst du eine Mail über das Mailprogramm des Seitenbesuchers abschicken. Bist du sicher, dass der Besucher einen installiert und konfiguriert hat? Viele benutzen nur ein Webinterface.
Gruß, Jürgen