<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Javascript on besserentwickeln.de</title><link>https://besserentwickeln.de/tags/javascript/</link><description>Recent content in Javascript on besserentwickeln.de</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Philipp Tuchardt</copyright><lastBuildDate>Tue, 07 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://besserentwickeln.de/tags/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>Formulare dauerhaft per DevTools Snippet blockieren</title><link>https://besserentwickeln.de/p/formulare-dauerhaft-per-devtools-snippet-blockieren/</link><pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/formulare-dauerhaft-per-devtools-snippet-blockieren/</guid><description>&lt;p>Manchmal möchte man beim Entwickeln oder Debuggen verhindern, dass ein Formular abgeschickt wird –
ohne jedes Mal den Quellcode anzupassen oder einen Breakpoint zu setzen.
Mit einem DevTools Snippet lässt sich das einmalig einrichten und gilt dann für die gesamte Browser-Session.&lt;/p>
&lt;h2 id="snippet-anlegen">Snippet anlegen
&lt;/h2>&lt;p>Im Chrome DevTools unter &lt;strong>Sources → Snippets&lt;/strong> ein neues Snippet erstellen und folgenden Code einfügen:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;submit&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">e&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">e&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">preventDefault&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">},&lt;/span> &lt;span class="kc">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Anschließend mit &lt;strong>Strg + Enter&lt;/strong> (bzw. &lt;strong>Cmd + Enter&lt;/strong>) ausführen.&lt;/p>
&lt;h2 id="warum-das-funktioniert">Warum das funktioniert
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Global&lt;/strong> – der Listener hängt am &lt;code>document&lt;/code> und greift damit auf alle Formulare der Seite.&lt;/li>
&lt;li>&lt;strong>Capture-Phase (&lt;code>true&lt;/code>)&lt;/strong> – der Event wird abgefangen, bevor er die einzelnen Elemente erreicht.
Das bedeutet: auch Framework-interne Handler von React, Vue &amp;amp; Co. kommen gar nicht erst dran.&lt;/li>
&lt;/ul>
&lt;h2 id="vorteil-gegenüber-breakpoints">Vorteil gegenüber Breakpoints
&lt;/h2>&lt;p>Ein Snippet ist schnell ausgeführt, muss nicht jedes Mal neu konfiguriert werden und lässt sich
problemlos erweitern – zum Beispiel um ein &lt;code>console.log&lt;/code>, das die Formulardaten ausgibt:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;submit&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">e&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">e&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">preventDefault&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">log&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Form submit blocked:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">e&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">target&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">},&lt;/span> &lt;span class="kc">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>So sieht man sofort, welches Formular betroffen wäre, ohne dass eine Anfrage rausgeht.&lt;/p>
&lt;h2 id="schnelle-alternative-console">Schnelle Alternative: Console
&lt;/h2>&lt;p>Wer das nur einmalig ausprobieren möchte, kann den Code auch direkt in die &lt;strong>Console&lt;/strong> (Tab &lt;strong>Console&lt;/strong>) einfügen und mit Enter bestätigen.
Der Effekt ist identisch – allerdings geht er beim nächsten Seitenneuladen verloren.
Das Snippet hingegen bleibt dauerhaft im Browser gespeichert und ist jederzeit wieder ausführbar.&lt;/p></description></item></channel></rss>