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, 3772 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 ..
Ähnliche Inhalte
PHP
gelöst Übergabe Formularinhalte an externes PHP Script (15)

Frage von schneerunzel zum Thema PHP ...

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 ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (8)

Frage von Ghost108 zum Thema Basic ...