gelöst PHP-Script von JavaScript aus starten
Hi NG,
wie kann ich ein PHP-Script starten, nachdem die Formularprüfung per JavaScript (über SUBMIT-Button) abgeschlossen ist?
Das PHP-Script dient zu Speicherung der Formulardaten in eine Datenbank.
Gruß
Andy
wie kann ich ein PHP-Script starten, nachdem die Formularprüfung per JavaScript (über SUBMIT-Button) abgeschlossen ist?
Das PHP-Script dient zu Speicherung der Formulardaten in eine Datenbank.
Gruß
Andy
7 Antworten
- LÖSUNG nxclass schreibt am 18.03.2013 um 13:19:50 Uhr
- LÖSUNG AndyAh schreibt am 19.03.2013 um 07:36:12 Uhr
- LÖSUNG flow.ryan schreibt am 19.03.2013 um 08:31:44 Uhr
- LÖSUNG nxclass schreibt am 19.03.2013 um 10:05:37 Uhr
- LÖSUNG nxclass schreibt am 19.03.2013 um 10:10:12 Uhr
- LÖSUNG AndyAh schreibt am 19.03.2013 um 10:48:51 Uhr
- LÖSUNG AndyAh schreibt am 19.03.2013 um 07:36:12 Uhr
- LÖSUNG flow.ryan schreibt am 18.03.2013 um 13:22:28 Uhr
LÖSUNG 18.03.2013, aktualisiert um 13:23 Uhr
normal wird mit dem Attribute action festgelegt wohin der Browser die Daten senden soll
... natürlich kannst Du auch mit Javascipt die Formularfelder auslesen und per ajax call an den Server senden.
01.
<form action="speichern.php">
02.
...
03.
</form>
Formularprüfung per JavaScript (über SUBMIT-Button)
dieses JS müsste dann true zurück liefern - dann sollte das Formular gesendet werden - oder manuell mit form.submit().... natürlich kannst Du auch mit Javascipt die Formularfelder auslesen und per ajax call an den Server senden.
LÖSUNG 18.03.2013 um 13:22 Uhr
Hallo,
ich denke du solltest dir ersteinmal diverse Tutorials zum Thema PHP, Formulare, HTML, MySQL, etc durchlesen.
In der Fomular-Datei hast du (hoffentlich) folgenden Code:
Nun verarbeitest du in der fomular.php deine Daten.
Tutorials zu dem Thema:
http://php.net/manual/de/tutorial.forms.php
http://php-einfach.de/php-tutorial/php-tutorial.php
http://www.schattenbaum.net/php/anfang.php
ich denke du solltest dir ersteinmal diverse Tutorials zum Thema PHP, Formulare, HTML, MySQL, etc durchlesen.
In der Fomular-Datei hast du (hoffentlich) folgenden Code:
01.
<form name="Formular_Name" method="POST" action="fomular.php">
Tutorials zu dem Thema:
http://php.net/manual/de/tutorial.forms.php
http://php-einfach.de/php-tutorial/php-tutorial.php
http://www.schattenbaum.net/php/anfang.php
LÖSUNG 19.03.2013 um 07:36 Uhr
Hi,
ich habe es mit return(true) und form.submit() versucht. Siehe Code:
function check()
{
if (eingabe.vorname.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.vorname.focus();
return(false);
}
if (eingabe.nachname.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.nachname.focus();
return(false);
}
if (eingabe.strasse.value =="")
{
alert("Bitte richtige Eingabe");
eingabe.strasse.focus();
return(false);
}
if(eingabe.plz.value =="")
{
alert("Bitte richtige Eingabe");
eingabe.plz.focus();
return(false);
}
if(eingabe._ort.value =="")
{
alert("Bitte richtige Eingabe");
eingabe._ort.focus();
return(false);
}
if(eingabe.email.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.email.focus();
return(false);
}
return(true);
}
Der Focus wird zwar kurz gesetzt, aber es wird sofort wieder in das PHP-Script gesprungen.
Wo liegt der Fehler?
Gruß
Andy
ich habe es mit return(true) und form.submit() versucht. Siehe Code:
function check()
{
if (eingabe.vorname.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.vorname.focus();
return(false);
}
if (eingabe.nachname.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.nachname.focus();
return(false);
}
if (eingabe.strasse.value =="")
{
alert("Bitte richtige Eingabe");
eingabe.strasse.focus();
return(false);
}
if(eingabe.plz.value =="")
{
alert("Bitte richtige Eingabe");
eingabe.plz.focus();
return(false);
}
if(eingabe._ort.value =="")
{
alert("Bitte richtige Eingabe");
eingabe._ort.focus();
return(false);
}
if(eingabe.email.value == "")
{
alert("Bitte richtige Eingabe");
eingabe.email.focus();
return(false);
}
return(true);
}
Der Focus wird zwar kurz gesetzt, aber es wird sofort wieder in das PHP-Script gesprungen.
Wo liegt der Fehler?
Gruß
Andy
LÖSUNG 19.03.2013 um 08:31 Uhr
Hallo,
ich weiß nicht, ob du es nicht verstehen kannst oder nicht verstehen möchtest. Code gehört in die Code-Tags!
sprich: < code > bzw. < / code > (ohne Leerzeichen!)
Nun zu deinem Problem - da mal wieder nur die Hälfte des Codes eingereicht wurde kann man viel raten:
Angenommen du hast folgenden HTML-Code:
Mit Sicherheit hast du einen Submit-Button. Den müsstest / könntest du folgendermaßen umbauen:
Hier siehst du, dass wir keinen Submit-Button nutzen, sondern einen ganz normalen Button. Dieser führt nach dem Klick die Funktion validate() aus. Ihr wird die Objekt-Referenz this.form übergeben, damit die aufgerufene Funktion mit dem Fomular arbeiten kann.
Der JS-Code könnte so aussehen:
Wenn du nun auf den Button klickst, wird die Javascript-Funktion validate() aufgerufen. In ihr wurden die Felder defeniert, die überprüft werden sollen. Hier erfolgt der Aufruf der Funktion validatefield mit den Parametern. Wenn diese Überprüfung negativ verläuft, sprich das Feld nicht ausgefüllt oder die Mindestlänge der Zeichen nicht erreicht wurde, dann wird die Variable valid auf FALSE gesetzt. Nach der Funktion validatefield wird in der Funktion validate() weitergearbeitet. Diese prüft, ob die Variable valid WAHR ist. Sollte sie WAHR sein, dann wird das Formular mittels form.submit() abgeschickt. Sollte sie UNWAHR sein, dann wird der Text "Folgende Fehler müssen nocht ausgefüllt werden" inkl. der Feldnamen in das DIV invalid geschrieben und das Formular wird nicht abgeschickt.
Ich hoffe ich konnte dir helfen.
Gruß,
Florian.
PS: Bitte verwende Code-Tags, ansonsten wird sich das hier keiner mehr antun!
ich weiß nicht, ob du es nicht verstehen kannst oder nicht verstehen möchtest. Code gehört in die Code-Tags!
sprich: < code > bzw. < / code > (ohne Leerzeichen!)
Nun zu deinem Problem - da mal wieder nur die Hälfte des Codes eingereicht wurde kann man viel raten:
Angenommen du hast folgenden HTML-Code:
01.
<div id="invalid"></div>
02.
<form name="form" method="post" action='URL_ZUR_PHP_FILE'>
03.
<input type="text" id="vorname" name="vorname" size="30" value="" />
04.
</form>
01.
<input type="button" value="Benutzer anlegen" onclick="this.blur();validate(this.form)" />
Der JS-Code könnte so aussehen:
01.
// Deklaration unserer Variablen
02.
var fokus;
03.
var valid;
04.
05.
// Funktion zur Überprüfung auf Kriterien.
06.
function validatefield(form,fieldname,description,length) {
07.
if(form[fieldname].value.length<length) {
08.
text+='<br/>- '+description+': '+length+' Zeichen';
09.
if(valid){
10.
fokus=form[fieldname];
11.
}
12.
valid=false;
13.
}
14.
}
15.
16.
function validate(form){
17.
valid =true;
18.
text="Folgende Felder müssen noch ausgefüllt werden:<br/>";
19.
validatefield(form,'vorname','Vorname',2);
20.
validatefield(form,'nachname','Nachname',2);
21.
if (valid)
22.
{
23.
form.submit();
24.
}
25.
else
26.
{
27.
document.getElementById('invalid').innerHTML=text+'<br/>';
28.
fokus.focus()
29.
scroll(0,0);
30.
}
31.
32.
}
Ich hoffe ich konnte dir helfen.
Gruß,
Florian.
PS: Bitte verwende Code-Tags, ansonsten wird sich das hier keiner mehr antun!
LÖSUNG 19.03.2013 um 10:05 Uhr
der Ablauf deiner JS Funktion sieht OK aus - nur das return() sieht eigenartig aus - folgende Änderung schlage ich vor:
... prüfe ob in dem FORM Element:
damit die Prüfung beim versuch das Form zu senden aufgerufen wird.
... und im JS:
damit die Funktion auch das Form kennt in dem die Elemente Inhalte geprüft werden sollen.
01.
- return(true);
02.
+ return true;
03.
- return(false);
04.
+ return false;
01.
<form ... onsubmit="return check(this)">
... und im JS:
01.
function check( eingabe ) {
02.
...
03.
}
LÖSUNG 19.03.2013, aktualisiert um 10:10 Uhr
btw. wenn du dem Form ein ID Attribut gegeben hast, kannst du dass auch alles sauber in JS erledigen:
01.
document.getElementById('myform').onsubmit = function() {
02.
03.
if (this. ... {
04.
...
05.
return false;
06.
}
07.
...
08.
09.
return true;
10.
}
11.
12.
...
13.
14.
<form id="myform" ...
LÖSUNG 19.03.2013 um 10:48 Uhr
Hi,
danke für die Hilfe. So funktioniert es.
Gruß
Andy
danke für die Hilfe. So funktioniert es.
Gruß
Andy
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte