ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
1224
1224
EMPFEHLEN
-
Hallo zusammen,
ich Hab eine Internetseite mit Formularfeldern, werden nicht alle Felder des Formulars ausgefüllt erscheint eine Fehlermeldung.
Die Fehlermeldung ist in einem Popupfenster über js integriert.
Das Fehlermeldungsfenster erscheint jetzt aber immer auf einer weißen Seite. D.h. meine Seite mit den Eingabefeldern verschwindet, dann erscheint dei Fehlermeldung auf der weißen Seite.
Ich möchte jedoch, dass die Fehlermeldung auf der bestehenden Seite (die die der user gerade bearbeitet hat) ausgegeben wird.
was muss ich im JS ändern?
Gruß
Helga
PHP-Code:if($action == "add"){
if ($ueberschrift == "" || $text == "" ){
print("<script language='javaScript'>
alert('Bitte füllen Sie ALLE Felder aus!');
</script>");
} else {
-
30.07.03 17:50 #2
- Registriert seit
- Apr 2002
- Ort
- Ingolstadt
- Beiträge
- 2.940
Hallo
Wenn ich das richtig sehe, wird das Formular erst auf dem Server ausgewertet - dazu wird das Formular verschickt. Um dein Problem lösen zu können, bräuchte ich aber die Datei mit mit Formular (am besten als Attachment)...
bye
-
Hallo Crono,
sorry, das attachment wurde nicht akzeptiert. hier der quelltext:
PHP-Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Administrationsbereich</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//folgende Zeile kann aktiviert werden, wenn die Ausgabe der Uhrzeit des Eintrags
//mit ausgegeben werden soll
//$datum[minutes]= sprintf("%02.0f", $datum[minutes]);
$datum = getdate();
if($action == "add"){
if ($ueberschrift == "" || $text == "" ){
print "<center><font color=#FFFFFF face=Verdana><small><strong>";
Print "<meta http-equiv=\"refresh\" content=\"0; URL=http://stwgd.ropa-net.de/admin/\"><br></br><br></br><br></br><br></br><br></br><br></br><br></br>";
print("<script language='javaScript'>
alert('Bitte füllen Sie ALLE Felder aus!');
</script>");
} else {
$text = ereg_replace( "\015?\012\015?", "<br>", $text );
$eintrag = "<b><p>$ueberschrift</b><br><br>$text<br><br><small>Eintrag vom: $datum[mday].$datum[mon].$datum[year]</small><br><br>";
$eintrag2 = "<b><p>$ueberschrift</b><br><br>$text<br><br><small>Eintrag vom: $datum[mday].$datum[mon].$datum[year]</small><hr><br><br>";
// $eintrag2 = ereg_replace( "<br>", "\015\012", $eintrag2 ); //eventuell rausnehmen
$Inhalt = file("content.txt");
$datei = fopen("content.txt","w+");
fputs ($datei, $eintrag . "\n");
$Inhalt2 = file("archiv.txt");
$datei2 = fopen("archiv.txt","w");
fputs ($datei2, $eintrag2 . "\n");
for($x=0; $x<count($Inhalt2); $x++) {
fputs( $datei2, $Inhalt2[$x] ); }
fclose($datei);
fclose($datei2);
print "<center><font color=#FFFFFF face=Verdana><small><strong>";
Print "<meta http-equiv=\"refresh\" content=\"0; URL=http://stwgd.ropa-net.de/\"><br></br><br></br><br></br><br></br><br></br><br></br><br></br>";
print("<script language='javaScript'>
alert('Der Eintrag wurde erfasst!');
</script>");
}
} else{
?>
</table>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td> <td><form name="content.php" method="get" >
<input name="action" type="hidden" value="add">
<p> </p>
<table width="50%" border="0" align="center">
<tr>
<td colspan="3" > </td>
</tr>
<tr>
<td colspan="3" ><p> </p>
<p><font size="4" face="Arial, Helvetica, sans-serif"><br>
</font></p></td>
</tr>
<tr>
<td width="2%"><font face="Arial, Helvetica, sans-serif"><br>
</font></td>
<td colspan="2"><font face="Arial, Helvetica, sans-serif">
Überschrift:<br>
<input type="text" name="ueberschrift" size="40" >
</font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><br>
</font></td>
<td colspan="2"><font face="Arial, Helvetica, sans-serif"> Textfeld:<br>
<textarea name="text" cols="80" rows="5" ></textarea>
</font></td>
</tr>
<tr>
<td> </td>
<td colspan="2"><input type="submit" name="Submit" value="Abschicken"></td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif"> </font></td>
<td width="37%"><font face="Arial, Helvetica, sans-serif"><a href="file://///Fileserver/R%FCdi/katrin/Intranet_Stadtwerke/index.php">zum
Intranet</a></font></td>
<td width="61%"><font face="Arial, Helvetica, sans-serif"><a href="file://///Fileserver/R%FCdi/katrin/Intranet_Stadtwerke/admin/delete.php">Archiv
editieren</a></font></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"><font color="#FF0000" face="Arial, Helvetica, sans-serif">Bitte
beachten: <font color="#000000">Textfeldbreite beim Eingeben nicht
überschreiten! </font></font></td>
</tr>
</table>
<p> </p>
</form></td>
</tr>
</table>
<?php
}
?>
</body>
</html>
-
31.07.03 11:38 #4
- Registriert seit
- Apr 2002
- Ort
- Ingolstadt
- Beiträge
- 2.940
Hallo,
ich hab die Überprüfung jetzt Clientseitig gemacht... Schau`s dir mal an, ob´s dir so passt...
Konnte es nicht test, da ich hier grad keinen Apache laufen hab...PHP-Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Administrationsbereich</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function validate()
{
if((document.forms('content.php').ueberschrift.value == '')||(document.forms('content.php').text.value == '')){
alert("Bitte alle Felder ausfüllen");
return false;
}
else{
document.forms('content.php').submit();
}
}
</script>
</head>
<body>
<?php
//folgende Zeile kann aktiviert werden, wenn die Ausgabe der Uhrzeit des Eintrags
//mit ausgegeben werden soll
//$datum[minutes]= sprintf("%02.0f", $datum[minutes]);
$datum = getdate();
if($action == "add"){
if ($ueberschrift == "" || $text == "" ){
print "<center><font color=#FFFFFF face=Verdana><small><strong>";
Print "<meta http-equiv=\"refresh\" content=\"0; URL=http://stwgd.ropa-net.de/admin/\"><br></br><br></br><br></br><br></br><br></br><br></br><br></br>";
/* print("<script language='javaScript'>
alert('Bitte füllen Sie ALLE Felder aus!');
</script>");*/
} else {
$text = ereg_replace( "15?1215?", "<br>", $text );
$eintrag = "<b><p>$ueberschrift</b><br><br>$text<br><br><small>Eintrag vom: $datum[mday].$datum[mon].$datum[year]</small><br><br>";
$eintrag2 = "<b><p>$ueberschrift</b><br><br>$text<br><br><small>Eintrag vom: $datum[mday].$datum[mon].$datum[year]</small><hr><br><br>";
// $eintrag2 = ereg_replace( "<br>", "1512", $eintrag2 ); //eventuell rausnehmen
$Inhalt = file("content.txt");
$datei = fopen("content.txt","w+");
fputs ($datei, $eintrag . "\n");
$Inhalt2 = file("archiv.txt");
$datei2 = fopen("archiv.txt","w");
fputs ($datei2, $eintrag2 . "\n");
for($x=0; $x<count($Inhalt2); $x++) {
fputs( $datei2, $Inhalt2[$x] ); }
fclose($datei);
fclose($datei2);
print "<center><font color=#FFFFFF face=Verdana><small><strong>";
Print "<meta http-equiv=\"refresh\" content=\"0; URL=http://stwgd.ropa-net.de/\"><br></br><br></br><br></br><br></br><br></br><br></br><br></br>";
print("<script language='javaScript'>
alert('Der Eintrag wurde erfasst!');
</script>");
}
} else{
?>
</table>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td> <td><form name="content.php" method="get" action="content.php" >
<input name="action" type="hidden" value="add">
<p> </p>
<table width="50%" border="0" align="center">
<tr>
<td colspan="3" > </td>
</tr>
<tr>
<td colspan="3" ><p> </p>
<p><font size="4" face="Arial, Helvetica, sans-serif"><br>
</font></p></td>
</tr>
<tr>
<td width="2%"><font face="Arial, Helvetica, sans-serif"><br>
</font></td>
<td colspan="2"><font face="Arial, Helvetica, sans-serif">
Überschrift:<br>
<input type="text" name="ueberschrift" size="40" >
</font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><br>
</font></td>
<td colspan="2"><font face="Arial, Helvetica, sans-serif"> Textfeld:<br>
<textarea name="text" cols="80" rows="5" ></textarea>
</font></td>
</tr>
<tr>
<td> </td>
<td colspan="2"><input type="submit" name="Submit" value="Abschicken" onClick="validate(); return false;"></td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif"> </font></td>
<td width="37%"><font face="Arial, Helvetica, sans-serif"><a href="file://///Fileserver/R%FCdi/katrin/Intranet_Stadtwerke/index.php">zum
Intranet</a></font></td>
<td width="61%"><font face="Arial, Helvetica, sans-serif"><a href="file://///Fileserver/R%FCdi/katrin/Intranet_Stadtwerke/admin/delete.php">Archiv
editieren</a></font></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"><font color="#FF0000" face="Arial, Helvetica, sans-serif">Bitte
beachten: <font color="#000000">Textfeldbreite beim Eingeben nicht
überschreiten! </font></font></td>
</tr>
</table>
<p> </p>
</form></td>
</tr>
</table>
<?php
}
?>
</body>
</html>
ciao
-
jettz kommt gar keine Fehlermdelung
-
31.07.03 12:57 #6
- Registriert seit
- Nov 2002
- Ort
- Altdorf bei Nürnberg
- Beiträge
- 3.027
Wens interessiert:
Man das ganze auch etwas vereinfachen:
Folgende Funktion:
Und so wird sie aufgerufen:PHP-Code:function checkform( form_name, form_data ) {
theform = window.document[form_name];
allright = true;
for (i=0; i<form_data.length; i++) {
if (theform[form_data[i]].value == "") {
allright = false;
}
}
if (allright == false) {
alert("Bitte füllen Sie alle Felder aus");
} else {
theform.submit();
}
}
Es wird 1. der Name des Formulars übergeben und zusätzlich noch ein array, das alle Namen der Felder, die ausgefüllt sein müssen enthält.
Bsp:
Man könnte es auch etwas einfacher machen (ist jetzt nicht getestet):PHP-Code:<form name="dataform" methode="post" onSubmit="checkform('dataform', new Array('input1', 'input2', 'input3'));return false;">
<input type="text" name="input1" size="20">
<input type="text" name="input2" size="20">
<input type="text" name="input3" size="20">
<input type="submit" value=" Abschicken ">
</form>
Hm, so viel einfacher ist es auch nichtPHP-Code:function checkform( form_name, form_data ) {
theform = window.document[form_name];
allright = true;
for (i=0; i<form_data.length; i++) {
if (theform[form_data[i]].value == "") {
allright = false;
}
}
if (allright == false) {
alert("Bitte füllen Sie alle Felder aus");
return false;
} else {
return true;
}
}
[...]
<form name="dataform" methode="post" onSubmit="return checkform('dataform', new Array('input1', 'input2', 'input3'));">
-
31.07.03 12:59 #7
- Registriert seit
- Apr 2002
- Ort
- Ingolstadt
- Beiträge
- 2.940
Hallo,
habs mittlerweile Testen können... Bei mir lokal funktionierts. Die Fehlermeldung kommt, wenn entweder kein Text oder keine Überschrift eingegeben wurde.
Überprüfe bitte mal folgende punkte:
1) Heißt dein Formular "content.php" - wenn nicht musst du das im Javascript anpassen.
2) Hast du den Funktionsaufruf in <input type="submit" name="Submit" value="Abschicken" onClick="validate(); return false;">
bye
-
31.07.03 13:04 #8
- Registriert seit
- Apr 2002
- Ort
- Ingolstadt
- Beiträge
- 2.940
Hi Nuinmundo, soviel einfacher ist´s wirklich nichtOriginal geschrieben von Nuinmundo
Hm, so viel einfacher ist es auch nicht
. Das meine Lösung nichts für sehr "umgangreiche" Formulare ist, war mir auch klar. Aber für 2 Felder ist´s zweckmäßig. Ansonsten würd ich auch mein "großes" FormCheckscript verwenden
- oder auf eine fertige Lösung wie "Gen_Validator" zurückgreifen...
bye
-
danke @crono hatte den
Funktionsaufruf in <input type="submit" name="Submit" value="Abschicken" onClick="validate(); return false;">
vergessen
Ähnliche Themen
-
Keine Seite im Browser aufrufbar trotz bestehender Internetverbindung.
Von Johannes7146 im Forum Internet, DSL & FlatrateAntworten: 2Letzter Beitrag: 12.03.10, 10:27 -
Sonderzeichen im String suchen und Fehlermeldung ausgeben
Von Papenburger im Forum PHPAntworten: 13Letzter Beitrag: 30.05.07, 16:31 -
Fehlermeldung ausgeben mit try catch in ASP und C#
Von Deletemaster im Forum .NET Web und KommunikationAntworten: 11Letzter Beitrag: 14.02.07, 13:15 -
Fehlermeldung bei nichtgefundener Seite
Von fanste im Forum PHPAntworten: 5Letzter Beitrag: 07.06.05, 13:35 -
Mailformular Fehlermeldung ausgeben
Von herrgarnele im Forum PHPAntworten: 2Letzter Beitrag: 01.04.05, 12:56





Zitieren
Login





