<?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>Webdesign-Blog &#187; javascript / php</title>
	<atom:link href="http://www.steinwebdesign.de/webdesign-blog/category/javascript-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.steinwebdesign.de/webdesign-blog</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Fri, 16 Dec 2011 09:55:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Input Felder mit CSS formatieren / gestalten</title>
		<link>http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/</link>
		<comments>http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 18:02:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript / php]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[feld]]></category>
		<category><![CDATA[felder]]></category>
		<category><![CDATA[formatieren]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[gestalten]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.steinwebdesign.de/webdesign-blog/?p=57</guid>
		<description><![CDATA[Normale Input Felder sehen standardmäßig doch eher bescheiden aus und ein Rahmen (border) oder eine Hintergrundfarbe (background) ändern oftmals nichts an der Tatsache.
Was jedoch wirkt, sind mit CSS formatierte Hintergrundbilder (background-image).
Wir nehmen also unsere CSS Datei und formatieren unsere Input-Felder folgendermaßen:

input {
background: #fff url(img/input.jpg) no-repeat bottom right;
width:149px;
height:19px;
padding-left:10px;
padding-top:3px;
border:none;
}
Wichtig dabei ist, dass unserer background-image die Position &#8220;bottom [...]


Related posts:<ol><li><a href='http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/' rel='bookmark' title='Permanent Link: Mehrseitiges Formular mit Javascript-Abfragen'>Mehrseitiges Formular mit Javascript-Abfragen</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Normale Input Felder sehen standardmäßig doch eher bescheiden aus und ein Rahmen (border) oder eine Hintergrundfarbe (background) ändern oftmals nichts an der Tatsache.</p>
<p>Was jedoch wirkt, sind mit CSS formatierte Hintergrundbilder (background-image).</p>
<p>Wir nehmen also unsere CSS Datei und formatieren unsere Input-Felder folgendermaßen:<br />
<span id="more-57"></span><br />
<span style="color: #3366ff;"><em>input {<br />
background: #fff url(img/input.jpg) no-repeat bottom right;<br />
width:149px;<br />
height:19px;<br />
padding-left:10px;<br />
padding-top:3px;<br />
border:none;<br />
}</em></span></p>
<p>Wichtig dabei ist, dass unserer background-image die Position &#8220;bottom right&#8221; hat.<br />
Im IE würde es sonst das Hintergrundbild bei einer längeren Eingabe erst verschieben und dann ganz verschwinden lassen.<br />
Ein wenig padding sorgt dafür, dass der eingegebene Text nicht ganz vorne beginnt.</p>
<p>Wenn nicht alle Input Felder formatiert werden sollen dann müsste statt dem &#8220;input&#8221; in der CSS eine Klasse formatiert und im Formular dann jeweils zugeordnet werden.</p>
<p>Also z.B.:</p>
<p><span style="color: #3366ff;"><em>.input-feld {<br />
background: #fff url(img/input.jpg) no-repeat bottom right;<br />
width:149px;<br />
height:19px;<br />
padding-left:10px;<br />
padding-top:3px;<br />
border:none;<br />
}</em></span></p>
<p>und im Formular dann:</p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;name&#8221; type=&#8221;text&#8221; /&gt;</em></span></p>
<p>Als nächstes möchten wir den Benutzer bei einer Falscheingabe im Formular mit einem wechselnden background-image darauf hinweisen, wo er einen Fehler gemacht hat und ggf. auch jene Input Felder markieren, wo die Eingabe bis dato korrekt ist.<br />
Hierfür benötigen wir nun folgenden Javascript Codesnipsel, der im &lt;head&gt; Bereich eingefügt wird:</p>
<p><span style="color: #3366ff;"><em>&lt;script type=&#8221;text/javascript&#8221;&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>function checkForm()<br />
{<br />
var error = new Array();<br />
if(document.data.name.value == &#8220;&#8221;)<br />
{<br />
document.data.name.focus();<br />
document.data.name.style.background = &#8220;url(img/input-error.jpg) no-repeat bottom right&#8221;;<br />
error[0] = 1;<br />
}<br />
else<br />
{<br />
document.data.name.style.background = &#8220;url(img/input-ok.jpg) no-repeat bottom right&#8221;;<br />
}</em></span></p>
<p><span style="color: #3366ff;"><em>if(document.data.ort.value == &#8220;&#8221;)<br />
{<br />
document.data.ort.focus();<br />
document.data.ort.style.background = &#8220;url(img/input-error.jpg) no-repeat bottom right&#8221;;<br />
error[0] = 1;<br />
}<br />
else<br />
{<br />
document.data.ort.style.background = &#8220;url(img/input-ok.jpg) no-repeat bottom right&#8221;;<br />
}</em></span></p>
<p><span style="color: #3366ff;"><em>for (i=0; i &lt;= 8; i++)<br />
{<br />
if (error[i] == 1)<br />
{<br />
alert(&#8220;Bitte korrigieren/vervollstaenidgen Sie die Daten in den ROT markierten Feldern!&#8221;);<br />
return false;<br />
}<br />
}<br />
}</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/script&gt;</em></span></p>
<p>Wenn das Input Feld &#8220;name&#8221; nicht eingetragen wurde, dann wird jetzt anstatt das in der CSS angegebene background-image &#8220;input.jpg&#8221; unser neues mit dem Namen &#8220;input-error.jpg&#8221; geladen und zusätzlich ein Popup mit dem Hinweis, dass die Rot markierten Felder fehlerhaft sind. Das selbe Prinzip passiert mit dem Input Feld &#8220;ort&#8221;, nur das dort statt dem &#8220;input-error.jpg&#8221; das &#8220;input-ok.jpg&#8221; geladen wird, da wir hier eine Eingabe gemacht haben.</p>
<p>Eine Demo gibt es dazu <a title="Demo" href="http://www.steinwebdesign.de/webdesign-blog/extras/form.html" target="_blank">hier</a>.</p>


<!-- Begin SexyBookmarks Menu Code -->
<div class="sexy-bookmarks sexy-bookmarks-expand sexy-bookmarks-center sexy-bookmarks-bg-sexy">
<ul class="socials">
		<li class="sexy-delicious">
			<a href="http://del.icio.us/post?url=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;title=Input+Felder+mit+CSS+formatieren+%2F+gestalten" rel="nofollow" class="external" title="Empfehle diesen Artikel bei del.icio.us">Empfehle diesen Artikel bei del.icio.us</a>
		</li>
		<li class="sexy-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;title=Input+Felder+mit+CSS+formatieren+%2F+gestalten" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="sexy-technorati">
			<a href="http://technorati.com/faves?add=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/" rel="nofollow" class="external" title="Empfehle diesen Artikel bei Technorati">Empfehle diesen Artikel bei Technorati</a>
		</li>
		<li class="sexy-myspace">
			<a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;t=Input+Felder+mit+CSS+formatieren+%2F+gestalten" rel="nofollow" class="external" title="Sende dies zu MySpace">Sende dies zu MySpace</a>
		</li>
		<li class="sexy-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;t=Input+Felder+mit+CSS+formatieren+%2F+gestalten" rel="nofollow" class="external" title="Empfehle diesen Artikel bei Facebook">Empfehle diesen Artikel bei Facebook</a>
		</li>
		<li class="sexy-twitter">
			<a href="http://twitter.com/home?status=Input+Felder+mit+CSS+formatieren+%2F+gestalten+-+http://b2l.me/kgnrp+" rel="nofollow" class="external" title="Twittere diesen Artikel!">Twittere diesen Artikel!</a>
		</li>
		<li class="sexy-comfeed">
			<a href="http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/feed" rel="nofollow" class="external" title="Abonniere die Kommentare für diesen Beitrag">Abonniere die Kommentare für diesen Beitrag</a>
		</li>
		<li class="sexy-google">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;title=Input+Felder+mit+CSS+formatieren+%2F+gestalten" rel="nofollow" class="external" title="Füge hinzu zu Google Bookmarks">Füge hinzu zu Google Bookmarks</a>
		</li>
		<li class="sexy-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/&amp;bm_description=Input+Felder+mit+CSS+formatieren+%2F+gestalten&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Füge hinzu zu Mister Wong">Füge hinzu zu Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>
<!-- End SexyBookmarks Menu Code -->



<p>Related posts:<ol><li><a href='http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/' rel='bookmark' title='Permanent Link: Mehrseitiges Formular mit Javascript-Abfragen'>Mehrseitiges Formular mit Javascript-Abfragen</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mehrseitiges Formular mit Javascript-Abfragen</title>
		<link>http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/</link>
		<comments>http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 15:52:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript / php]]></category>
		<category><![CDATA[Abfragen]]></category>
		<category><![CDATA[Checkbox]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[formmailer]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[mehrseitiges Formular]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[prüfen]]></category>
		<category><![CDATA[Radio-Button]]></category>
		<category><![CDATA[Selectlisten]]></category>

		<guid isPermaLink="false">http://www.steinwebdesign.de/webdesign-blog/?p=21</guid>
		<description><![CDATA[Mehrseitige Formulare werden oft bei Bestellvorgängen oder Anfragen benötigt. Doch oftmals hängt man dann bei den Abfragen fest und muss sich erstmal wieder durch-googeln.
Da wir in letzter Zeit häufig mehrseitige Formulare mit sämtlichen Abfragen hatten, möchten wir heute mal eine kleine „How-To“ Zusammenfassung für Anfänger schreiben. Wir gehen dabei nicht näher auf die Funktionen ein, [...]


Related posts:<ol><li><a href='http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/' rel='bookmark' title='Permanent Link: Input Felder mit CSS formatieren / gestalten'>Input Felder mit CSS formatieren / gestalten</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Mehrseitige Formulare werden oft bei Bestellvorgängen oder Anfragen benötigt. Doch oftmals hängt man dann bei den Abfragen fest und muss sich erstmal wieder durch-googeln.</p>
<p>Da wir in letzter Zeit häufig mehrseitige Formulare mit sämtlichen Abfragen hatten, möchten wir heute mal eine kleine „How-To“ Zusammenfassung für Anfänger schreiben. Wir gehen dabei nicht näher auf die Funktionen ein, sondern beschränken uns auf das Wesentliche.</p>
<p>Fangen wir mit der einfachen Abfrage, ob ein Wert eingegeben wurde, an.<br />
<span id="more-21"></span><br />
Das abzufragende Inputfeld (in dem Fall die Frage nach dem Job) besteht aus:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;form method="post" action=""&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;Job&#8221; type=&#8221;text&#8221; /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/form&gt;</em></span></p>
<p>Nun prüfen wir ob ein Job eingegeben wurde und gehen dazu in unserem Quelltext ganz nach oben in den &lt;head&gt; Bereich.</p>
<p>Folgender Codeschnipsel leitet die Abfrage ein:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;script type="text/javascript"&gt;&lt;!--</em></span></code></p>
<p><span style="color: #3366ff;"><em>function pruefen(){</em></span></p>
<p><span style="color: #3366ff;"><em>var f = document.forms[0];</em></span></p>
<p><span style="color: #3366ff;"><em>var fehler = &#8220;&#8221;;</em></span></p>
<p><em>Nun die Abfrage nach dem Job:</em></p>
<p><em>if (f.<span style="color: #993300;">Job</span>.value == &#8220;&#8221;) {</em></p>
<p><em>fehler += &#8220;<span style="color: #0000ff;">Job</span>\n&#8221;;</em></p>
<p><em>}</em></p>
<p>Das rot markierte „<span style="color: #993300;">Job</span>“ muss mit dem Namen aus dem abzufragenden Inputfeld identisch sein.</p>
<p>Das blau markierte „<span style="color: #0000ff;">Job</span>“ hingegen kann beliebig ersetzt werden. Es dient nur dazu dem Benutzer zu zeigen, was er falsch gemacht hat. So wird der Fehler als Popup ausgegeben &#8211; mit der Meldung, dass das Inputfeld „Job“ nicht ausgefüllt wurde.</p>
<p>Wichtig dabei ist nur, dass das <strong>\n</strong> direkt hinter dem blauen „Job“ stehen bleibt. Dieser erzwingt einen Zeilenumbruch der nötig ist, sobald es mehr als eine Abfrage gibt.</p>
<p>Um die Abfrage nun zu beenden, müssen wir das angefangene Javascript im &lt;head&gt; noch beenden indem wir folgendes eingeben:<br />
<code><br />
<span style="color: #3366ff;"><em>if (fehler != "") {</em></span></code></p>
<p><span style="color: #3366ff;"><em>var fehlertext = &#8220;Die folgenden Pflichtfelder wurden nicht vollständig ausgefüllt:\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>fehlertext += fehler;</em></span></p>
<p><span style="color: #3366ff;"><em>alert(fehlertext);</em></span></p>
<p><span style="color: #3366ff;"><em>return false;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>return true;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>//&#8211;&gt;&lt;/script&gt;</em></span></p>
<p>Nun muss die Javascript-Abfrage nur noch an das Formular übergeben werden.</p>
<p>Dazu gehen wir noch mal an den Anfang unseres Formulars wo steht:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;form method="post" action=""&gt;</em></span><br />
</code><br />
hier hängen wir jetzt noch folgendes an:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;form method="post" action="" onsubmit="return pruefen()"&gt;</em></span><br />
</code><br />
Wir haben in unserem Javascript der Abfrage den Namen “pruefen” gegeben. Somit wird nun bei senden des Formulars das Javascript ausgeführt.</p>
<p>Komplett würde das dann also so aussehen:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;html&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;head&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;script type=&#8221;text/javascript&#8221;&gt;&lt;!&#8211;</em></span></p>
<p><span style="color: #3366ff;"><em>function pruefen(){</em></span></p>
<p><span style="color: #3366ff;"><em>var f = document.forms[0];</em></span></p>
<p><span style="color: #3366ff;"><em>var fehler = &#8220;&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>if (f.Job.value == &#8220;&#8221;) {</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Job\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>if (fehler != &#8220;&#8221;) {</em></span></p>
<p><span style="color: #3366ff;"><em>var fehlertext = &#8220;Die folgenden Pflichtfelder wurden nicht vollständig ausgefüllt:\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>fehlertext += fehler;</em></span></p>
<p><span style="color: #3366ff;"><em>alert(fehlertext);</em></span></p>
<p><span style="color: #3366ff;"><em>return false;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>return true;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>//&#8211;&gt;&lt;/script&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/head&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;body&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;form method=&#8221;post&#8221; action=&#8221;" onsubmit=&#8221;return pruefen()&#8221;&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;Job&#8221; type=&#8221;text&#8221; /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;submit&#8221; name=&#8221;senden&#8221; value=&#8221;weiter&#8221; /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/form&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/body&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/html&gt;</em></span></p>
<p>Wenn nun mehrere Felder abgefragt werden sollen, müssen wir uns im Prinzip nur noch diesen “Baustein” merken:<br />
<code><br />
<span style="color: #3366ff;"><em>if (f.Job.value == "") {</em></span></code></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Job\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p>Das „Job“ ersetzen wir, wie bereits erwähnt, einfach durch den Namen des Inputfeldes.</p>
<p>So können beliebig viele Felder hintereinander abgefragt werden.</p>
<p>Nun wissen wir zwar, wie man normale Inputfelder abfragt, doch was ist mit der Checkbox, dem Radio-Button und der Auswahlliste?</p>
<p>Radio-Button und Checkboxen abfragen:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;input type="Checkbox" name="Auto" value="pkw" /&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Checkbox&#8221; name=&#8221;Auto&#8221; value=&#8221;mofa&#8221; /&gt;</em></span></p>
<p>So sieht der normale Aufbau des Formulars bei Checkboxen aus. Hier Fragen wir ab, welche Fahrzeuge zur Verfügung stehen.<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;input type="Radio" name="Auto" value="Ja" /&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Radio&#8221; name=&#8221;Auto&#8221; value=&#8221;Nein&#8221; /&gt;</em></span></p>
<p>So sieht der normale Aufbau des Formulars bei Radio-Button aus.</p>
<p>Die Abfrage ob eine Checkbox oder ein Radio-Button angeklickt wurde ist identisch.</p>
<p>Daher gilt der Javascript Codeschnipsel in dem Fall für beides:<br />
<code><br />
<span style="color: #3366ff;"><em>if (!(f.Auto[0].checked || f.Auto[1].checked))</em></span></code></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Auto\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p>Haben wir jetzt mehr als 2 Checkboxen bzw. Radio-Button, so fügen wir hinter das letzte checked, ein weiteres f.Auto[2].checked ein. Wichtig ist, dass es durch || getrennt wird.</p>
<p>Eine Abfrage von 4 Checkboxen / Radiobutton würde dann also so aussehen:<br />
<code><br />
<span style="color: #3366ff;"><em>if (!(f.Auto[0].checked || f.Auto[1].checked || f.Auto[2].checked || f.Auto[3].checked))</em></span></code></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Auto\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em><br />
</span><br />
Die Nummern in der eckigen Klammer spielen dabei eine wichtige Rolle.</p>
<p>Mit der 0 wird die erste Box abgefragt, mit der 1 die 2. usw. Möchten wir nun, dass die Checkbox 3 nicht abgefragt wird, so lassen wir f.Auto[2].checked weg und machen stattdessen mit f.Auto[3].checked , also der 4. Checkbox, weiter.</p>
<p>Select-Listen abfragen:</p>
<p>Bei Select-Listen gilt der selbe Befehle wie bei den Checkboxen und Radio-Button mit dem Unterschied, dass hier nicht nach checked, sondern nach selected gefragt wird.</p>
<p>Eine gültige Abfrage würde dann also so aussehen:<br />
<code><br />
<span style="color: #3366ff;"><em>if (!(f.Auto[1].selected || f.Auto[2].selected))</em></span></code></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Auto\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p>Hierbei fällt auf, dass wir nicht wie bei den Checkboxen mit der [0] beginnen, sondern in den meissten Fällen mit der [1].</p>
<p>Wenn wir uns den Aufbau einer Select-Liste anschauen, wissen wir auch wieso.<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;select name="Automarke"&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;option&gt;&#8212;&#8212;Bitte wählen&#8212;&#8212;&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;option value=&#8221;bmw&#8221;&gt;bmw&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;option value=&#8221;vw&#8221;&gt;vw&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/select&gt;</em></span></p>
<p>Normalerweise nennt man die erste Option bei Select-Listen z.B. „Bitte wählen“.</p>
<p>Würden wir jetzt mit der [0] beginnen, würde unsere Javascript-Abfrage die erste Option, also das „Bitte wählen“ als gültig anerkennen und der Benutzer bekäme keinen Hinweis, dass unser Formular nicht ordnungsgemäß ausgefüllt wurde. Gibt es keine Option wie „Bitte wählen“, fangen wir ganz normal wie bei Checkboxen und Radio-Button mit der [0] an.</p>
<p>Hier noch mal alle Abfragen (formatiert) zusammengefasst:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;html&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;head&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;script type=&#8221;text/javascript&#8221;&gt;&lt;!&#8211;</em></span></p>
<p><span style="color: #3366ff;"><em>function pruefen(){</em></span></p>
<p><span style="color: #3366ff;"><em>var f = document.forms[0];</em></span></p>
<p><span style="color: #3366ff;"><em>var fehler = &#8220;&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>if (f.Job.value == &#8220;&#8221;) {</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Job\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>if (!(f.Auto[0].checked || f.Auto[1].checked || f.Auto[2].checked || f.Auto[3].checked))</em></span></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Auto\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>if (!(f.Automarke[1].selected || f.Automarke [2].selected))</em></span></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Automarke\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>if (fehler != &#8220;&#8221;) {</em></span></p>
<p><span style="color: #3366ff;"><em>var fehlertext = &#8220;Die folgenden Pflichtfelder wurden nicht vollständig ausgefüllt:\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>fehlertext += fehler;</em></span></p>
<p><span style="color: #3366ff;"><em>alert(fehlertext);</em></span></p>
<p><span style="color: #3366ff;"><em>return false;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>return true;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>//&#8211;&gt;&lt;/script&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/head&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;body&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;form method=&#8221;post&#8221; action=&#8221;" onsubmit=&#8221;return pruefen()&#8221;&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>Was machen Sie beruflich?&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;Job&#8221; type=&#8221;text&#8221; /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;br /&gt;&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>Welche Fahrzeuge besitzen Sie?&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Checkbox&#8221; name=&#8221;Auto&#8221; value=&#8221;pkw&#8221; /&gt; Pkw &lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Checkbox&#8221; name=&#8221;Auto&#8221; value=&#8221;mofa&#8221; /&gt; Mofa &lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Checkbox&#8221; name=&#8221;Auto&#8221; value=&#8221;bus&#8221; /&gt; Bus &lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Checkbox&#8221; name=&#8221;Auto&#8221; value=&#8221;traktor&#8221; /&gt; Traktor</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;br /&gt;&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>Welche Automarke fahren Sie?&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;select name=&#8221;Automarke&#8221;&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;option&gt;&#8212;&#8212;Bitte wählen&#8212;&#8212;&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;option value=&#8221;bmw&#8221;&gt;bmw&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;option value=&#8221;vw&#8221;&gt;vw&lt;/option&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/select&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;br /&gt;&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;submit&#8221; name=&#8221;senden&#8221; value=&#8221;Senden&#8221; /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/form&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/body&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/html&gt;</em></span></p>
<p>Jetzt kennen wir die Grundlagen für einfache Abfragen einer Select-List, Checkbox, Radio-Button sowie Input-Feld.</p>
<p>Erweiterte Abfragen:</p>
<p>Nun gehen wir noch etwas ins Detail.</p>
<p>Angenommen wir haben ein Inputfeld wo z.B. bei einem Kredit nach dem Auszahlungsbetrag gefragt wird. Jetzt möchten wir aber, dass der Benutzer nicht jeden x-beliebigen Betrag eingeben kann sondern eine Summe von mindestens 1.000,- EUR und maximal 100.000,- EUR eingeben muss.</p>
<p>Unser Codeschnipsel für die Javascript-Abfrage würde dann so aussehen:<br />
<code><br />
<span style="color: #3366ff;"><em>if(f.Auszahlungsbetrag.value&lt;=999 || f. Auszahlungsbetrag.value&gt;=100001)</em></span></code></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Auszahlungsbetrag: min. 1.000,- EUR &#8211; max. 100.000,-EUR \n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p>Es wird also geprüft, ob der eingegebene Wert größer als 999 und kleiner als 100001 ist.</p>
<p>Bei einem Wert unter 1.000 und über 100.000 würde somit eine Fehlermeldung erscheinen.</p>
<p>Als nächstes Kombinieren wir ein Radio-Button mit einem Input-Feld.</p>
<p>Beispiel:<br />
<code><br />
<span style="color: #3366ff;"><em>Haben Sie eine Homepage?&lt;br /&gt;</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Radio&#8221; name=&#8221; Homepage &#8221; value=&#8221;Ja&#8221; /&gt; Ja</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Radio&#8221; name=&#8221; Homepage &#8221; value=&#8221;Nein&#8221; /&gt; Nein</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;br /&gt;&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>Url&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;Url&#8221; type=&#8221;text&#8221; /&gt;</em></span></p>
<p>Wenn der Radio-Button Homepage mit „Ja“ aktiviert wurde, soll die Abfrage nach der Url kommen. Hat der Benutzer allerdings „Nein“ ausgewählt, so soll keine weitere Abfrage stattfinden.</p>
<p>Der dazugehörige Javascript-Codeschnipsel:<br />
<code><br />
<span style="color: #3366ff;"><em>if (!(f.Homepage[0].checked || f.Homepage[1].checked))</em></span></code></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Homepage\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>if(f.Homepage[0].checked&amp;&amp;(f.Url.value) == false)</em></span></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>fehler += &#8220;Url Ihrer Homepage\n&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p>In der ersten Abfrage prüfen wir, ob ein Radio-Button ausgewählt ist.</p>
<p>In der 2. prüfen wir nun, ob der 1. Radio-Button „Homepage: Ja“ ausgewählt wurde und wenn Ja, wird zusätzlich geprüft, ob eine Url im nachfolgenden Input-Feld eingetragen ist.</p>
<p>Wenn der 2. Radio-Button ausgewählt wurde, fällt die Abfrage nach der Url weg.</p>
<p>Um das Url Input-Feld auszublenden bzw. nur einzublenden wenn der Radio-Button „Ja“ ausgewählt ist, können wir dem ganzen mit ein wenig CSS noch ein display block und display none zuweisen.<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;input type="Radio" name=" Homepage " value="Ja" onclick="document.getElementById(' Url ').style.display = 'block'"&gt; Ja</em></span></code></p>
<p><span style="color: #3366ff;"><em>&lt;input type=&#8221;Radio&#8221; name=&#8221; Homepage &#8221; value=&#8221;Nein&#8221; onclick=&#8221;document.getElementById(&#8216; Url &#8216;).style.display = &#8216;none&#8217;&#8221;&gt; Nein</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;div id=&#8221;Url&#8221; style=&#8221;display: none&#8221;&gt;Url:&lt;br /&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;input name=&#8221;Url&#8221; type=&#8221;text&#8221;&gt;</em></span></p>
<p><span style="color: #3366ff;"><em>&lt;/div&gt;</em></span></p>
<p>Die Methode funktioniert nicht nur mit Radio-Button, sondern auch mit Select-Listen und Checkboxen. Ein weiteres Beispiel hierfür erspare ich mir.</p>
<p>Als letztes möchten wir bei der Auswahl des Radio-Buttons „Ja“ eine andere Seite beim Absenden des Formulars anzeigen, als bei der Auswahl „Nein.</p>
<p>Auch hier ist die Ausführung wieder ganz simple, diesmal allerdings mit php statt Javascript.<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;?php</em></span></code></p>
<p><span style="color: #3366ff;"><em>if($_REQUEST['Homepage']==&#8217;Ja&#8217;){</em></span></p>
<p><span style="color: #3366ff;"><em>echo &#8216;Du hast eine Homepage&#8217;;</em></span></p>
<p><span style="color: #3366ff;"><em>exit();</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>else</em></span></p>
<p><span style="color: #3366ff;"><em>echo &#8216;Du hast keine Homepage&#8217;;</em></span></p>
<p><span style="color: #3366ff;"><em>?&gt;</em></span></p>
<p>Haben wir „Ja“ ausgewählt, bekommen wir nachdem Absenden die Meldung: „Du hast eine Homepage“, bei „Nein“ tritt Fall 2 ein und es erscheint die Meldung: „Du hast keine Homepage“</p>
<p>In das echo kann ebenfalls html geschrieben werden oder man könnte auch include verwenden und direkt auf eine andere Seite verweisen.<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;?php</em></span></code></p>
<p><span style="color: #3366ff;"><em>if($_REQUEST[' Homepage ']==&#8217;Ja&#8217;){</em></span></p>
<p><span style="color: #3366ff;"><em>include &#8216;http://website-MIT-homepage-weiterleitung&#8217;;</em></span></p>
<p><span style="color: #3366ff;"><em>exit();</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>else</em></span></p>
<p><span style="color: #3366ff;"><em>include &#8216; http://website-OHNE-homepage-weiterleitung &#8216;;</em></span></p>
<p><span style="color: #3366ff;"><em>?&gt;</em></span></p>
<p><strong>Mehrseitiges Formular</strong></p>
<p>Wie übertragen wir jetzt die Daten von Formular 1 zu Formular 2 usw.?</p>
<p>Dieser Codeschnipsel hilft uns dabei und gehört bei jedem Formular nach ganz oben:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;?php</em></span></code></p>
<p><span style="color: #3366ff;"><em>function dyn_form()</em></span></p>
<p><span style="color: #3366ff;"><em>{</em></span></p>
<p><span style="color: #3366ff;"><em>global $HTTP_POST_VARS, $HTTP_GET_VARS;</em></span></p>
<p><span style="color: #3366ff;"><em>if (isset($HTTP_POST_VARS)) {</em></span></p>
<p><span style="color: #3366ff;"><em>//bei POST</em></span></p>
<p><span style="color: #3366ff;"><em>foreach ($HTTP_POST_VARS as $key =&gt; $elem) {</em></span></p>
<p><span style="color: #3366ff;"><em>echo &#8220;&lt;input type=\&#8221;hidden\&#8221; name=\&#8221;$key\&#8221; value=\&#8221;$elem\&#8221;&gt;&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>else {</em></span></p>
<p><span style="color: #3366ff;"><em>//bei GET</em></span></p>
<p><span style="color: #3366ff;"><em>foreach ($HTTP_GET_VARS as $key =&gt; $elem) {</em></span></p>
<p><span style="color: #3366ff;"><em>echo &#8220;&lt;input type=\&#8221;hidden\&#8221; name=\&#8221;$key\&#8221; value=\&#8221;$elem\&#8221;&gt;&#8221;;</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>}</em></span></p>
<p><span style="color: #3366ff;"><em>} //end function</em></span></p>
<p><span style="color: #3366ff;"><em>?&gt;</em></span></p>
<p>Nun müssen wir in unserem Quelltext noch zur Stelle springen wo der Absende-Button ist und fügen vor diesem folgendes ein, um das Script auszuführen:<br />
<code><br />
<span style="color: #3366ff;"><em>&lt;?php dyn_form(); ?&gt;</em></span><br />
</code><br />
danach normal weiter mit <span style="color: #3366ff;"><code><em>&lt;input type="submit" name="senden" value="Absenden" /&gt;</em></code></span></p>
<p>Dem Formular muss dann die Endung .php statt .html gegeben werden.</p>
<p>Sind wir nun durch mit unseren Formularen, sodass wir es mit allen Daten an unsere Email senden können, benötigen wir noch ein letztes Script, welches ihr euch <a href="http://aktuell.de.selfhtml.org/artikel/php/form-mail/">hier</a> ansehen könnt.</p>
<p>Ich hoffe dem einen oder anderen konnten wir das stundenlange Googlen erspraren.</p>


<!-- Begin SexyBookmarks Menu Code -->
<div class="sexy-bookmarks sexy-bookmarks-expand sexy-bookmarks-center sexy-bookmarks-bg-sexy">
<ul class="socials">
		<li class="sexy-delicious">
			<a href="http://del.icio.us/post?url=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;title=Mehrseitiges+Formular+mit+Javascript-Abfragen" rel="nofollow" class="external" title="Empfehle diesen Artikel bei del.icio.us">Empfehle diesen Artikel bei del.icio.us</a>
		</li>
		<li class="sexy-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;title=Mehrseitiges+Formular+mit+Javascript-Abfragen" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="sexy-technorati">
			<a href="http://technorati.com/faves?add=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/" rel="nofollow" class="external" title="Empfehle diesen Artikel bei Technorati">Empfehle diesen Artikel bei Technorati</a>
		</li>
		<li class="sexy-myspace">
			<a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;t=Mehrseitiges+Formular+mit+Javascript-Abfragen" rel="nofollow" class="external" title="Sende dies zu MySpace">Sende dies zu MySpace</a>
		</li>
		<li class="sexy-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;t=Mehrseitiges+Formular+mit+Javascript-Abfragen" rel="nofollow" class="external" title="Empfehle diesen Artikel bei Facebook">Empfehle diesen Artikel bei Facebook</a>
		</li>
		<li class="sexy-twitter">
			<a href="http://twitter.com/home?status=Mehrseitiges+Formular+mit+Javascript-Abfragen+-+http://b2l.me/kgnh9+" rel="nofollow" class="external" title="Twittere diesen Artikel!">Twittere diesen Artikel!</a>
		</li>
		<li class="sexy-comfeed">
			<a href="http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/feed" rel="nofollow" class="external" title="Abonniere die Kommentare für diesen Beitrag">Abonniere die Kommentare für diesen Beitrag</a>
		</li>
		<li class="sexy-google">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;title=Mehrseitiges+Formular+mit+Javascript-Abfragen" rel="nofollow" class="external" title="Füge hinzu zu Google Bookmarks">Füge hinzu zu Google Bookmarks</a>
		</li>
		<li class="sexy-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/&amp;bm_description=Mehrseitiges+Formular+mit+Javascript-Abfragen&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Füge hinzu zu Mister Wong">Füge hinzu zu Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>
<!-- End SexyBookmarks Menu Code -->



<p>Related posts:<ol><li><a href='http://www.steinwebdesign.de/webdesign-blog/2009/12/input-felder-mit-css-formatieren-gestalten/' rel='bookmark' title='Permanent Link: Input Felder mit CSS formatieren / gestalten'>Input Felder mit CSS formatieren / gestalten</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.steinwebdesign.de/webdesign-blog/2009/10/mehrseitiges-formular-mit-javascript-abfragen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

