<?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>mysrc.de &#187; fehlersuche</title>
	<atom:link href="http://www.mysrc.de/tag/fehlersuche/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysrc.de</link>
	<description>- jQuery, Mootools u.a. JS-Frameworks</description>
	<lastBuildDate>Sun, 01 Aug 2010 02:49:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Praxistip: Output Element des jQuery Validate Plugin ändern</title>
		<link>http://www.mysrc.de/jquery/praxistip-output-element-des-jquery-validate-plugin-andern/</link>
		<comments>http://www.mysrc.de/jquery/praxistip-output-element-des-jquery-validate-plugin-andern/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 19:32:05 +0000</pubDate>
		<dc:creator>Stefan Huissel</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[fehlersuche]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Formulare]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://www.mysrc.de/?p=854</guid>
		<description><![CDATA[Das allseits bekannte jQuery Plugin um Formularfelder zu validieren funktioniert im Standardszenarion sogut wie problemlos. Schwieriger wird es schon wenn mehrere Plugins auf ein Formular angewendet werden, bei denen die Plugins eigene DOM-Elemente hinzufügen. Beispielsweise jqTransform Glücklicherweise bietet das validate Plugin dafür eine wunderbare Funktion, nämlich errorPlacement. Die Funktion sieht so aus: ?View Code JAVASCRIPT1 [...]]]></description>
			<content:encoded><![CDATA[<p>Das allseits bekannte <a href="http://docs.jquery.com/Plugins/Validation" target="blank">jQuery Plugin</a> um <a href="http://www.mysrc.de/jquery/jquery-formulare-validieren-ein-uberblick/">Formularfelder zu validieren</a> funktioniert im Standardszenarion sogut wie problemlos. </p>
<p>Schwieriger wird es schon wenn <strong>mehrere Plugins</strong> auf ein Formular angewendet werden, bei denen die Plugins eigene DOM-Elemente hinzufügen. Beispielsweise <a href="http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/" target="blank">jqTransform</a></p>
<p>Glücklicherweise bietet das validate Plugin dafür eine wunderbare Funktion, nämlich <strong>errorPlacement</strong>.<br />
Die Funktion sieht so aus:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p854code4'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8544"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p854code4"><pre class="javascript" style="font-family:monospace;"> errorPlacement<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>error<span style="color: #339933;">,</span> element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     error.<span style="color: #660066;">appendTo</span><span style="color: #009900;">&#40;</span> element.<span style="color: #660066;">TRAVERSINGFUNKTION</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></pre></td></tr></table></div>

<p>Nehmen wir ein Formular:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p854code5'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8545"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p854code5"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;somescript.php&quot; id=&quot;form&quot; method=&quot;get&quot;&gt;
   &lt;input type=&quot;text&quot; name=&quot;user&quot;&gt;
   &lt;label&gt;&lt;label&gt; 
   &lt;input type=&quot;text&quot; name=&quot;pw&quot;&gt;
   &lt;label&gt;&lt;label&gt;
&lt;/form&gt;
 &lt;div id=&quot;error&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>Per Default wird vom validate Plugin ein Label-Tag hinter jedes input-Feld eingefügt. Will man nun den error an einer <strong>anderen Stelle zeigen</strong> kann man die Funktion folgendermaßen umschreiben:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p854code6'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8546"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p854code6"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#form&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">validate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  errorPlacement<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>error<span style="color: #339933;">,</span> element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     error.<span style="color: #660066;">appendTo</span><span style="color: #009900;">&#40;</span> element.<span style="color: #660066;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>   
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Die Fehlermeldungen würde nun <strong>ausgehend vom input</strong> (element) in das <strong>nächste DOM Element</strong>, in unserem Fall das label-Tag, <strong>geschrieben </strong>werden.<br />
Natürlich haben wir mit diesem Beispiel nur wieder das Ausgangsverhalten des Plugins erreicht. Dieses Prinzip lässt leicht auf komplexere Anwendungsfälle übertragen. Wie beispielsweise bei erwähntem jqTransform, bei dem um das input-Feld mehrere Divs gelegt werden. Die Fehlermeldung des Validate Plugins wird dann unterhalb (auf z-Ebene) der Felder angezeigt. Durch travesieren durch den DOM-Baum können die Fehlermeldungen beliebig positioniert werden.</p>
<h3  class="related_post_title">Ähnliche Artikel</h3><ul class="related_post"><li>12. August 2009 -- <a href="http://www.mysrc.de/jquery/jquery-form-plugin-do-some-ajax-magic-easily/" title="jQuery Form Plugin &#8211; Do some AJAX magic easily">jQuery Form Plugin &#8211; Do some AJAX magic easily</a></li><li>4. August 2009 -- <a href="http://www.mysrc.de/jquery/formularfelder-vorausfullen-und-leeren-mit-jquery-clearfield/" title="Formularfelder vorausfüllen und leeren mit jQuery Clearfield">Formularfelder vorausfüllen und leeren mit jQuery Clearfield</a></li><li>30. Juni 2009 -- <a href="http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/" title="jQuery myPass &#8211; password hiding iPhone-Style">jQuery myPass &#8211; password hiding iPhone-Style</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mysrc.de/jquery/praxistip-output-element-des-jquery-validate-plugin-andern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Debugger</title>
		<link>http://www.mysrc.de/jquery/jquery-debugger/</link>
		<comments>http://www.mysrc.de/jquery/jquery-debugger/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 21:29:45 +0000</pubDate>
		<dc:creator>Stefan Huissel</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[fehlersuche]]></category>
		<category><![CDATA[noConflict]]></category>

		<guid isPermaLink="false">http://www.mysrc.de/?p=262</guid>
		<description><![CDATA[Beim Entwickeln von Prgrammcode ist ein tieferer Blick in die Objektstruktur oft unabdingbar. Ein guter Debugger kann einem stundenlanges suchen nach Fehlern ersparen. Deshalb will ich kurz einen jQuery Debugger vorstellen. Downloaden könnt ihr ihn euch als jQuery Plugin auf: jQuery Debugger Nachdem das Plugin eingebunden ist (ganz normal mit script-Tag und src-Attribut), könnt ihr [...]]]></description>
			<content:encoded><![CDATA[<p>Beim Entwickeln von Prgrammcode ist ein tieferer Blick in die Objektstruktur oft unabdingbar. Ein guter Debugger kann einem stundenlanges suchen nach Fehlern ersparen. Deshalb will ich kurz einen jQuery Debugger vorstellen. Downloaden könnt ihr ihn euch als jQuery Plugin auf: <a href="http://wellstyled.com/en/javascript-debug-jquery-plugin/">jQuery Debugger</a><br />
Nachdem das Plugin eingebunden ist (ganz normal mit script-Tag und src-Attribut), könnt ihr es mit folgendem Code aufrufen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p262code10'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p26210"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p262code10"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> debuggen <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> jQuery.<span style="color: #660066;">debug</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// ...</span>
debuggen.<span style="color: #660066;">dump</span><span style="color: #009900;">&#40;</span>Object<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Nun noch ein kleines Beispiel dazu:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p262code11'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p26211"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p262code11"><pre class="html" style="font-family:monospace;">&lt;input name=&quot;LieferName&quot;  value=&quot;&quot; class=&quot;validate['required','length[6,-1]']&quot; type=&quot;text&quot; id=&quot;LieferName&quot; /&gt;</pre></td></tr></table></div>

<p>Der Code um sich das Objekt näher anzuschauen kann wie folgt aussehen:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p262code12'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p26212"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code" id="p262code12"><pre class="javascript" style="font-family:monospace;">debug <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> jQuery.<span style="color: #660066;">debug</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	posTo <span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span> x<span style="color: #339933;">:</span><span style="color: #3366CC;">'right'</span><span style="color: #339933;">,</span> y<span style="color: #339933;">:</span><span style="color: #3366CC;">'bottom'</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	width<span style="color: #339933;">:</span> <span style="color: #3366CC;">'480px'</span><span style="color: #339933;">,</span>
	height<span style="color: #339933;">:</span> <span style="color: #3366CC;">'50%'</span><span style="color: #339933;">,</span>
	itemDivider <span style="color: #339933;">:</span> <span style="color: #3366CC;">'&lt;hr&gt;'</span><span style="color: #339933;">,</span>
	listDOM <span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span> <span style="color: #3366CC;">'tagName'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'id'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'innerText'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'href'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'value'</span> <span style="color: #009900;">&#93;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> showMeDebug<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> input <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'LieferName'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  debug.<span style="color: #660066;">dump</span><span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Hier würde jetzt nach Aufruf der Funktion showMeDebug auf der unteren rechten Seite des Bildschirms eine Box, in der alle alle Attribute des &#8220;listDOM&#8221; für das Objekt &#8220;input&#8221; stehen, angezeigt.<br />
Für ein Formularfeld ist diese Funktion nur teilweise interessant. Sinnvoller ist der Einsatz des Debuggers für komplexe Objekte vor allem natürlich Klasseninstanzen.</p>
<p>Zu beachten ist, dass vor &#8220;debug = new jQuery.debug&#8221; u. U. die &#8220;var&#8221; Deklaration von JavaScript stehen und &#8220;jQuery&#8221; durch $ ersetzt werden muss. Obiges Skript wurde im noConflict Mode von jQuery ausgeführt.</p>
<h3  class="related_post_title">Ähnliche Artikel</h3><ul class="related_post"><li>4. September 2009 -- <a href="http://www.mysrc.de/jquery/praxistip-output-element-des-jquery-validate-plugin-andern/" title="Praxistip: Output Element des jQuery Validate Plugin ändern">Praxistip: Output Element des jQuery Validate Plugin ändern</a></li><li>18. Mai 2009 -- <a href="http://www.mysrc.de/mootools/jquery-noconflict-mode/" title="jQuery noConflict Mode">jQuery noConflict Mode</a></li><li>20. Juli 2010 -- <a href="http://www.mysrc.de/jquery/jmediaelement-jquery-html5-audio-video-kit/" title="jMediaelement &#8211; jQuery HTML5 Audio-Video Kit ">jMediaelement &#8211; jQuery HTML5 Audio-Video Kit </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.mysrc.de/jquery/jquery-debugger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
