Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP-Script von JavaScript aus starten

Frage Entwicklung JavaScript

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

18.03.2013, aktualisiert 13:09 Uhr, 3684 Aufrufe, 7 Kommentare

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

Mitglied: nxclass
18.03.2013, aktualisiert um 13:23 Uhr
normal wird mit dem Attribute action festgelegt wohin der Browser die Daten senden soll
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.
Bitte warten ..
Mitglied: flow.ryan
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:
01.
<form name="Formular_Name" method="POST" action="fomular.php">
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
Bitte warten ..
Mitglied: AndyAh
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
Bitte warten ..
Mitglied: flow.ryan
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:
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>
Mit Sicherheit hast du einen Submit-Button. Den müsstest / könntest du folgendermaßen umbauen:
01.
<input type="button" value="Benutzer anlegen" onclick="this.blur();validate(this.form)" />
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:
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&uuml;ssen noch ausgef&uuml;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.
}
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!
Bitte warten ..
Mitglied: nxclass
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:
01.
- return(true); 
02.
+ return true; 
03.
- return(false); 
04.
+ return false;
... prüfe ob in dem FORM Element:
01.
<form ... onsubmit="return check(this)">
damit die Prüfung beim versuch das Form zu senden aufgerufen wird.
... und im JS:
01.
function check( eingabe ) { 
02.
... 
03.
}
damit die Funktion auch das Form kennt in dem die Elemente Inhalte geprüft werden sollen.
Bitte warten ..
Mitglied: nxclass
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" ...
Bitte warten ..
Mitglied: AndyAh
19.03.2013 um 10:48 Uhr
Hi,

danke für die Hilfe. So funktioniert es.

Gruß
Andy
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
LAN, WAN, Wireless
Script bei starten einer VPN Verbindung mit Checkpoint-VPN Client (2)

Frage von maddig zum Thema LAN, WAN, Wireless ...

Python
gelöst PHP Skript via Python starten mit JSON Objekt als Parameter (3)

Frage von nullacht15 zum Thema Python ...

Windows Server
gelöst Rechner neu starten per Script via Aufgabenplanung klappt nicht (4)

Frage von MaxKlaus13 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...