Archivlink: javarea.de Forum > JavaScript > Formular senden/überprüfen 2
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Formular senden/überprüfen 2

Pages: [1]

geschrieben von Herbert1204 am 12.09.2009 - 20:17
Hallo
Ich möchte den untenstehenden Skript benutzen. Nur sollen die Fehlermeldungen nicht unten, sondern an der jeweiligen Stelle stehen (siehe http://kleinanzeigen.ebay.de/anzeig....geben.html ). Ich habe schon alles Mögliche probiert, aber nichts funktioniert so wie es soll. Deshalb würde ich mich sehr freuen, wenn Ihr das Skript für mich einmal umschreiben könntet.
Im Voraus schon einmal Vielen Dank.





<SCRIPT LANGUAGE="JavaScript">
<!--
// (C) 2002 Klaus Hentschel [ All rights reserved ].
// e-mail: kh@javarea.de
// www: http://www.javarea.de

function validate_form() {
validity = true;
if (!check_empty(document.form.NAME.value)){ /* Funktion Namen (Abfrage) */
validity = false;
show('Layer1');show('Layer2'); /* zeige Fehler */
}
if (!check_email(document.form.EMAIL.value)){ /* Funktion EMail (Abfrage) */
validity = false;
show('Layer1');show('Layer3'); /* zeige Fehler */
}
if (!check_url(document.form.URL.value)){ /* Funktion URL (Abfrage) */
validity = false;
show('Layer1');show('Layer4'); /* zeige Fehler */
}
if (!check_empty(document.form.DESCRIPTION.value)){ /* Funktion Comment (Abfrage) */
validity = false;
show('Layer1');show('Layer5'); /* 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_url(address) { /* URL muss (http:// und .) enthalten */
if ((address == "") || (address.indexOf ('http://') == -1) || (address.indexOf ('.') == -1))
return false;
return true;
}
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:Ihre@mail.de?SUBJECT=Betreff für die Mail" enctype="text/plain" onSubmit="return validate_form(this.form)">
<font class="stn"><b>Name:</b></font><br>
<input type="text" size=40 name="NAME"><br>
<font class="stn"><b>Email:</b></font><br>
<input type="text" size=40 name="EMAIL"><br>
<font class="stn"><b>URL:</b></font><br>
<input type="text" size=40 name="URL"><br>
<font class="stn"><b>Beschreibung:</b></font><br>
<TEXTAREA NAME="DESCRIPTION" ROWS=4 COLS=40 wrap=virtual></TEXTAREA><br>
<input type="submit" onclick="hide('Layer1');hide('Layer2');hide('Layer3');hide('Layer4');hide('Layer5')" name="submit" value="Senden"> <input type="reset" onclick="hide('Layer1');hide('Layer2');hide('Layer3');hide('Layer4');hide('Layer5')" value="Reset"></form>

<div style="position:absolute; width:450; height:100; z-index:1; left:0; top:300; visibility: show; visibility: visible">

<DIV style="visibility:hide;visibility:hidden;">
<div ID="Layer1" style="width:200px; height:200px; position:absolute; left:10px; top:0px; z-index:1; visibility:hidden;">
<font color="red"><b>Fehler:</b></font>
</DIV>
<div ID="Layer2" style="width:200px; height:200px; position:absolute; left:10px; top:15px; z-index:1; visibility:hidden;">
Bitte Name angeben!
</DIV>
<div ID="Layer3" style="width:200px; height:200px; position:absolute; left:10px; top:30px; z-index:1; visibility:hidden;">
E-Mail nicht korrekt!
</DIV>
<div ID="Layer4" style="width:200px; height:200px; position:absolute; left:10px; top:45px; z-index:1; visibility:hidden;">
URL nicht korrekt!
</DIV>
<div ID="Layer5" style="width:200px; height:200px; position:absolute; left:10px; top:60px; z-index:1; visibility:hidden;">
Bitte Beschreibung angeben!
</DIV>
</DIV>
</DIV>

geschrieben von Danny am 14.09.2009 - 14:33
Hallo Herbert,

du kannst die <div> Container die unten stehen doch ganz eifach neben dem jeweiligen Formularfeld platzieren. Das Script blendet diese ja bei einem Fehler nur ein, ansonsten sind sie unsichtbar.

Also so in der Art:

HTML-Quelltext
1: 
2: 
3: 
4: 
<font class="stn"><b>Name:</b></font><br>
<input type="text" size=40 name="NAME" style="float: left">
<div id="Layer2" style="width:200px;  visibility:hidden;">Bitte Name angeben!</div>
<br style="clear: both">


Gruß Danny


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.