Top-Themen

Aktuelle Themen (A bis Z)

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

HTML Formular - Java Script funktioniert nicht

Frage Entwicklung JavaScript

Mitglied: StefanHuber

StefanHuber (Level 1) - Jetzt verbinden

08.10.2012 um 10:47 Uhr, 3585 Aufrufe, 9 Kommentare

Hallo zusammen,

ich habe auf einer Homepage ein HTML Formular für eine Anmeldung gebaut und beim "Absendenbutton" wird über OnClick mit einem Javascript überprüft, dass in jedem Feld ein Inhalt ist. Wenn das Überprüfen abgeschlossen ist, wird der Inhalt der Formulars in eine MySQL Datenbank geschrieben.

01.
 
02.
<script type="text/javascript"> 
03.
function chkFormular () { 
04.
     
05.
  if (document.Formular.Vorname.value == "") { 
06.
    alert("Bitte Ihren Vornamen eingeben!"); 
07.
    document.Formular.Vorname.focus(); 
08.
    return false;  } 
09.
     
10.
   if (document.Formular.Name.value == "") { 
11.
    alert("Bitte Ihren Namen eingeben!"); 
12.
    document.Formular.Name.focus(); 
13.
    return false;  } 
14.
     
15.
	if (document.Formular.Strasse.value == "") { 
16.
    alert("Bitte Ihren Strasse eingeben!"); 
17.
    document.Formular.Strasse.focus(); 
18.
    return false;  } 
19.
</script> 
20.
... 
21.
<form class="Formular" name="Formular" action="Anmeldung.php" method="post"> 
22.
... 
23.
<table bordercolor="#000000" width="100%"> 
24.
<tr><th class="AbsatztextKopie">Vorname:</th><th class="AbsatztextKopie"><input type="text" size="40" name="Vorname" style="width:250px" id="Vorname"></th></tr> 
25.
<tr><th class="AbsatztextKopie">Name:</th><th class="AbsatztextKopie"><input type="text" size="40" name="Nachname" style="width:250px" id="Nachname"></th></tr> 
26.
<tr><th class="AbsatztextKopie">Strasse + H.Nr.:</th><th class="AbsatztextKopie"><input type="text" size="40" name="Strasse" style="width:250px" id="Strasse"></th></tr> 
27.
</table> 
28.
<input type="submit" onClick="return chkFormular()"><input type="reset"> 
29.
 
Leider funktioniert die Überprüfung nicht mehr und ich weiß auf Anhieb auch nicht wieso?! Hat bisher eigentlich immer funktioniert...

Wo liegt der Fehler?

LG Stefan
Mitglied: nxclass
08.10.2012, aktualisiert um 12:37 Uhr
nach Zeile 18 einfügen:
01.
    return true; 
02.
}
... ich empfehle ein Blick in die Fehlerkonsole des Browsers. Es gibt da auch nette Plugins für Entwickler.

EDIT:
Ich würde das mit onsubmit="" im FORM tag machen und nicht beim Submit button.
Bitte warten ..
Mitglied: StefanHuber
08.10.2012 um 13:24 Uhr
Hallo nxclass,

danke schon mal für deinen Tipp.

Habe in Zeile 8, 13 und 18 das "return false" in "return true" geändert. Zudem das submit vom Button in den Formtag "verschoben".

Bringt leider beides nixs....
Könnte man die Überprüfung auch in die PHP-Seite umziehen

LG
Bitte warten ..
Mitglied: nxclass
08.10.2012 um 23:07 Uhr
Habe in Zeile 8, 13 und 18 das "return false" in "return true" geändert.
... das ist Falsch - wenn ein Fehler Auftritt darf das Formular nicht gesendet werden das bewirkt man mit return false

Nur wenn all deine Prüfungen erfolgreich sind (nicht fehlerhaft) wird mit return true das formular gesendet.

Ich würde das mit onsubmit="" im FORM tag machen und nicht beim Submit button.
setze das noch um - dann sollte das gehen
<code>
<form ... onsubmit="chkFormular();" ... />
...
<input type="submit" name="" value="" />
...
<code>

Könnte man die Überprüfung auch in die PHP-Seite umziehen
natürlich - auch eine Prüfung per Ajax call ist machbar - ich würde sogar soweit gehen und sagen "es MUSS eine Prüfung seitens PHP erfolgen", da du nicht sicher sein kannst wie und woher die Daten an dein PHP Script (und dann in die DB !?) gesendet werden.
Bitte warten ..
Mitglied: StefanHuber
09.10.2012 um 07:41 Uhr
aaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrhhhhhhhhhhhhhhhhhhh!!!!

Tut mir leid, dass ich überhaupt geschrieben habe, denn wer lesen kann ist klar im Vorteil!

01.
<script type="text/javascript"> 
02.
 function chkFormular () { 
03.
         if (document.Formular.Name.value == "") { 
04.
     alert("Bitte Ihren Namen eingeben!"); 
05.
     document.Formular.Name.focus(); 
06.
     return false;  } 
07.
</script> 
08.
... 
09.
Name:<input type="text" size="40" name="Nachname" style="width:250px" id="Nachname">
Ich überprüfe oben nach dem Feld "Name", das aber unten "Nachname" heißt. Somit hat er den Vornamen überprüft, wollte den Nachnamen prüfen, was er nicht konnte. Den Rest hat er dann übersprungen...

LG Stefan und danke für die Hilfe :D
Bitte warten ..
Mitglied: Guenni
12.10.2012 um 23:06 Uhr
Hi StefanHuber,

1. Interessant find' ich, dass keine Fehlermeldung kommt bzw. dass dein Code funktioniert.

Bei deiner Funktion fehlt nämlich die abschließende Klammer des Funktionsrumpfs (s.u.).

01.
<script type="text/javascript"> 
02.
 
03.
 
04.
function chkFormular () { // Klammer begin function 
05.
     
06.
Dreimal if( . . .) { Anweisungen } 
07.
 
08.
**} // Klammer end function fehlt** 
09.
 
10.
</script> 
Oder ist die beim Kopieren verlorengegangen


2. Mal so als Hinweis: Deine Prüfung, ob ein Textfeld nichts enthält (if (document.Formular.Vorname.value == "") . . . ),

mag auf den ersten Blick funktionieren, aber wenn man hier Leerzeichen eingibt, so sind auch diese gültige Eingaben und das Formular

wird gesendet. Besser wäre, man prüft, ob z.B. Buchstaben eingegeben wurden.

01.
<script type="text/javascript"> 
02.
<!-- 
03.
function check_eingabe(){ 
04.
 /* 
05.
 * Wir gehen von einer Nichteingabe aus und setzen ok auf false. 
06.
 */ 
07.
 ok=false; 
08.
 //Prüfen, ob das Textfeld **nick** Buchstaben enthält, damit schon mal 
09.
 //das Feld nicht leer bleibt. 
10.
 muster=/[A-Za-zÄÖÜäöüß]/;  
11.
 test_eingabe=muster.exec(document.formular.nick.value); 
12.
 /* 
13.
 * Wenn das Textfeld Buchstaben enthält, ok auf true setzen. 
14.
 */ 
15.
 if(test_eingabe){ok=true;} 
16.
 /* 
17.
 * Wenn das Textfeld keine Buchstaben enthält, bleibt ok false. Dann Hinweis ins Textfeld schreiben, 
18.
 * den Fokus auf das Textfeld setzen und Text markieren 
19.
 */ 
20.
 if(!ok){ 
21.
  document.formular.nick.value="Bitte korrekt ausfüllen!"; 
22.
	document.formular.nick.focus(); 
23.
	document.formular.nick.select(); 
24.
 return false; 
25.
26.
 return true; 
27.
28.
// --> 
29.
</script>
Diese Überprüfung läßt Buchstaben, Buchstaben und Zahlen zu, aber nicht Zahlen ohne Buchstaben.

Gruß
Günni
Bitte warten ..
Mitglied: StefanHuber
13.10.2012 um 09:36 Uhr
Hi Günni,

bei 1.) ist tatsächlich nur beim Rauskopieren die Klammer verloren gegangen

zu 2.): ich werde es mal versuchen und dir dann schreiben, obs geklappt hat oder nicht

Danke schon mal
LG Stefan
Bitte warten ..
Mitglied: StefanHuber
15.10.2012 um 08:07 Uhr
Hi,
habe es nun versucht, nur kann ich jetzt das Formular immer abschicken und es wird nie überprüft, ob das Feld Buchstaben oder sonst was enthält... evtl. irgendwo ein Fehler drinnen?

LG
Bitte warten ..
Mitglied: Guenni
15.10.2012 um 22:57 Uhr
Hi StefanHuber,

hast du das Script auch an dein Formular angepasst?

Ich hab' das Script auch nur kopiert und gepostet. Es überprüft das

Textfeld nick aus meinem Formular, welches du durch die Namen

deiner Textfelder ersetzen musst.

Statt . . .

01.
test_eingabe=muster.exec(document.formular.nick.value); 
. . . muß es bei dir natürlich . . .

01.
test_eingabe=muster.exec(document.formular.Vorname.value); 
. . . heißen. Und das für jedes Textfeld, das du prüfen möchtest.


... evtl. irgendwo ein Fehler drinnen?

Nein, hab's gerade noch mal probiert. Das Formular wird nicht gesendet,

wenn keine Buchstaben im Textfeld sind.

Gruß
Günni
Bitte warten ..
Mitglied: StefanHuber
24.10.2012 um 10:28 Uhr
Hi Günni,

pppppffffrrrr :D
Klar hab ich Nick durch meine Feldnamen ersetzt

Dann prüfe ich einfach nochmal, denn der Fehler muss dann bei mir liegen.

LG und danke für die Mühe
Bitte warten ..
Ähnliche Inhalte
HTML
HTML Formulare automatisch leeren
gelöst Frage von MolochoHTML4 Kommentare

Hi, folgendes Problem: ich habe mit PHP ein Chat-Skript geschrieben. Das wird dann ausgegeben auf einer Seite, die so ...

Java
Das Neue Java Update funktioniert nicht ?
gelöst Frage von GrissiniJava14 Kommentare

Diese Frage ist geklährt für mich. Ich habe den Rechner heute Neuinstalliert. Alles läuft wieder wie am ersten Tag ...

HTML
HTML Formular Werte an Excel Datei übergeben
Frage von gamerffHTML7 Kommentare

Hallo, Kann ich die Werte die Besucher auf meiner webseite in das HTML Formular eingeben an eine Exceldatei übergeben ...

HTML
HTML-Formular: User-Eingabe in .txt-Datei speichern?
Frage von SchelinhoHTML2 Kommentare

Hallo community! Ich habe folgendes Anliegen: Ist es möglich, ohne PHP oder sonst was verwenden zu müssen, die Eingaben, ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 17 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 22 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 22 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
gelöst Frage von prodriveNetzwerkmanagement12 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...