<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>André Bloggt &#187; Formular</title>
	<atom:link href="http://blog.andreflemming.de/tag/formular/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.andreflemming.de</link>
	<description>Ein Pfadfinder im Internet</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:43:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Automatisch erkennen ob Feld Pflichtfeld ist [JQuery]</title>
		<link>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/</link>
		<comments>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 00:12:11 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wochenende]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=633</guid>
		<description><![CDATA[Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch einen Abfrage ob die Daten auch das richtige Format haben.</p>
<p>Natürlich könnte man für jedes Formular eine eigene Javascript Datei schreiben, in welcher man jedes Formularfeld prüfen lässt, welches Ausgefüllt werden muss. Da mir das aber zu viel Arbeit ist, habe ich mir gedacht ich lese einfach mittels Javascript alle &lt;label&gt; Felder aus, welche in ihrem Text ein * besitzen.</p>
<p>Das ganze habe ich mit dem Javascript Framework <a href="http://jquery.com" target="_blank">JQuery</a> realisiert.</p>
<p>Erst einmal ein Beispiel Formular:<br />
<code><br />
&lt;form method="post"&gt;<br />
&lt;label for="vorname"&gt;Vorname *&lt;/label&gt;<br />
&lt;input type="text" name="vorname" /&gt;&lt;br/&gt;<br />
&lt;label for="nachname"&gt;Nachname&lt;/label&gt;<br />
&lt;input type="text" name="nachname" /&gt;&lt;br/&gt;<br />
&lt;label for="gebDatum"&gt;Geburtsdatum *&lt;/label&gt;<br />
&lt;input type="text" name="gebDatum" /&gt;&lt;br/&gt;<br />
&lt;input type="submit" name="submit" value="Absenden" /&gt;<br />
&lt;/form&gt;</code></p>
<p>In diesem Formular sollen also der Vorname und das Geburtsdatum angegeben werden. Um zu überprüfen ob diese Daten wirklich eingetragen wurden, benötigen wir nun noch ein kleines Javascript. (Achtung: JQuery muss natürlich schon eingebunden sein)</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
$('input[type="submit"]').click(function() //Ausgeführt wenn submit-Button gedrückt<br />
{<br />
var    error    = false;<br />
var form    = $('form').children($(this)); //Suchen des Formulars<br />
var    label    = $(form).find('label:contains("*")'); //Finden der Label-Felder mit einem *<br />
$(label).each(function(index)<br />
{<br />
var name    = $(this).attr('for'); //Suche Namen für input-Feld<br />
if($('input[name='+name+']').val() == "") //Wenn input-Feld leer<br />
{<br />
error    = true;<br />
$('input[name='+name+']').addClass('inputError'); //Hinzufügen von CSS-Klasse<br />
}<br />
});<br />
if(error == true)<br />
{ //Nicht alle Felder ausgefüllt<br />
return false;<br />
}<br />
else<br />
{<br />
return true;<br />
}<br />
});<br />
&lt;/script&gt;</code></p>
<p>Mit diesem kleinen, aber meiner Meinung nach sehr hilfreichen Codeschnipsel kann man sich einiges an Arbeit sparen und dem User einiges an Wartezeit, da die Seite ja nicht erst neu geladen werden muss, bevor er angezeigt bekommt, das er einen Fehler gemacht hat.</p>
<p>Bestimmt kann man an diesem Skript noch viel verbessern, aber es erfüllt erst einmal Sinn und Zweck. Wenn jemand noch einen besseren Vorschlag hat, dann wäre ich dankbar diesen zu bekommen.</p>
<p>[Leider will WordPress den Code nicht so schön speichern wie er ursprünglich war <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ich hoffe ihr könnt ihn trotzdem lesen]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

