Mit OnChange funktion den Value herausfinden und nicht per Klick – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Mit OnChange funktion den Value herausfinden und nicht per Klick Mon, 18 Jun 18 01:31:08 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725020#m1725020 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725020#m1725020 <p>Hi,</p> <p>das Thema hatte ich schonmal hier, nur da ging es um den Value anzuzeigen wenn man etwas Klickt. Dieses mal ist es mit OnChange. Hab bisschen ausprobiert die Value herauszubekommen leider ohne Erfolg.</p> <p>Jetzt wollte ich euch mal Fragen, wie ich den Value bei der Input-File herausfinden kann.</p> <p>(Die Value des Forms würde auch gehen)</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $row['id'] ?><span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>formarea<span class="token punctuation">"</span></span> <span class="token attr-name">enctype</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>multipart/form-data<span class="token punctuation">"</span></span> <span class="token attr-name">method</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>POST<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">onchange</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value javascript language-javascript"><span class="token function">upload</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>form<span class="token punctuation">)</span><span class="token punctuation">;</span></span><span class="token punctuation">"</span></span></span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $row['id']; ?><span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>datei<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>inputfile<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>form</span><span class="token punctuation">></span></span> </code></pre> <pre><code class="block language-javascript"> <span class="token keyword">function</span> <span class="token function">upload</span><span class="token punctuation">(</span><span class="token parameter">form</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> id <span class="token operator">=</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">val</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> value <span class="token operator">=</span> id<span class="token punctuation">.</span><span class="token function">attr</span><span class="token punctuation">(</span><span class="token string">'value'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">alert</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span> $<span class="token punctuation">.</span><span class="token function">ajax</span><span class="token punctuation">(</span><span class="token punctuation">{</span> <span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">'POST'</span><span class="token punctuation">,</span> <span class="token literal-property property">url</span><span class="token operator">:</span> <span class="token string">'beicht_comments_datas/photo.php'</span><span class="token punctuation">,</span> <span class="token literal-property property">data</span><span class="token operator">:</span> <span class="token keyword">new</span> <span class="token class-name">FormData</span><span class="token punctuation">(</span>form<span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token literal-property property">contentType</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token literal-property property">processData</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token function-variable function">success</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">data</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'#output-photo'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">html</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre> <p>Ich habe folgendes versucht:</p> <p>var id = $(this).val();</p> <p>var id = $(this).attr('value');</p> <p>var id = form.target.getAttribute('value')</p> <p>var id = form.find('.inputfile').val();</p> <p>mfg</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Mon, 18 Jun 18 04:22:26 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725022#m1725022 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725022#m1725022 <p>moin,</p> <p>in JS hast Du die FileAPI. D.h., jedes <code><input type=file></code> erzeugt ein Array mit dem Namen <code>files</code>. Das schau Dir mal an, jeder Eintrag ist ein <code>file</code> Objekt mit Attributen.</p> <p>Darübe hinaus gibt es noch das <code>FormData</code> Objekt mit entsprechenden Methoden.</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 06:21:08 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725095#m1725095 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725095#m1725095 <p>Hallo,</p> <p>ich frage mal nach:</p> <p>Welche Information willst du wann erhalten?</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 00:26:00 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725084#m1725084 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725084#m1725084 <p>Hi, hab mir das angeschaut, jedoch hilft es nicht bei meinem Problem.</p> <p>(Ich muss das oben noch bearbeiten, muss doch die Data-Id herausfinden, hab jetzt beispielsweise mal die 2 genommen.) Wie gesagt, bei einem Klick (onClick) kann man ganz einfach " $(this) " benutzen und so die sogenannte data-id/value herausfinden. ( $(this).attr('data-id') / $(this).val(); )</p> <p><input type="file" data-id="2"></p> <p>Aber mit OnChange ist das kompliziert für mich. Da funktioniert keine Methode.</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 05:49:43 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725091#m1725091 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725091#m1725091 <p>moin,</p> <blockquote> <p>Aber mit OnChange ist das kompliziert für mich. Da funktioniert keine Methode.</p> </blockquote> <p><a href="http://rolfrost.de/imgscale.html" rel="nofollow noopener noreferrer">Bei mir funktioniert das alles einwandfrei.</a></p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Wed, 20 Jun 18 20:15:48 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725165#m1725165 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725165#m1725165 <p>Hallo pl,</p> <blockquote> <p><a href="http://rolfrost.de/imgscale.html" rel="nofollow noopener noreferrer">Bei mir funktioniert das alles einwandfrei.</a></p> </blockquote> <p>wie hilft das dem OP?</p> <p>Ich: „Ich treff das Tor nicht.“ Ronaldo: „Ich schon.“</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 15:53:31 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725122#m1725122 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725122#m1725122 <p>Ich lasse alle Beiträge anzeigen. Jeder Beitrag hat eine ID.</p> <p>Jetzt lasse ich alle Beiträge anzeigen mit einer While-Schleife.</p> <p>Jetzt hab ich ein Input Feld mit dem Type = File. Da füge ich eine Data-ID ein mit dem Wert der Beitrags-Id. ($row['id'])</p> <p>Diese ID will ich jetzt in eine Variable speichern per JS.</p> <p>wie z.b so :</p> <p>var value = $(this).val(),</p> <p>Das soll aber nichts mit dem eigentlichen Bild das ich hochlade zu tun haben. Ich möchte einfach die Data-ID in eine JS-Variable speichern, wenn ich die Funktion OnChange anwende.</p> <hr> <p>@pl</p> <p>Hast mich falsch verstanden. Ich brauch keine Informationen über das Bild. Ich will nur die Data-Id herausfinden. Könnte man gleich setzen wie das:</p> <p><input type="hidden" name="post-id" value="<?= $row['id']; ?>"></p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 16:32:09 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725123#m1725123 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725123#m1725123 <p>Hallo,</p> <p>der Seitenbesucher wählt also eine Datei aus und klickt auf OK. Und dann soll eine ID ausgelesen werden.</p> <p>Wird der change-Eventhandler aufgerufen?</p> <p>Wo ist die ID gespeichert? Als Attribut?</p> <p>Zeig doch mal, wie das Inputelement in Quelltext aussieht.</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 16:41:58 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725124#m1725124 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725124#m1725124 <p>hi,</p> <p>den value eines <input type=file> kannst Du setzen (vorbelegen) wie Du willst, das wird weder übertragen noch kommt das sonstwo wieder irgendwo zum Vorschein.</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 18:31:50 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725125#m1725125 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725125#m1725125 <p>Ja, die ID soll dann ermittelt werden. Das dient dazu: (hab extra ein Video gemacht).</p> <p>Video:</p> <p>https://www.youtube.com/watch?v=iKFyMSiGHps&feature</p> <hr> <p>So sieht das Input Element aus in meinem Quelltext.</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>datei<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>inputfile<span class="token punctuation">"</span></span> <span class="token attr-name">data-id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $row['id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> </code></pre> <p>Alles dient dazu ein Kommentar einzufügen mit einem Bild. Wenn man ein Bild auswählt, soll es angezeigt werden. Dieses Bild wird angezeigt in einem DIV-Container</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>output-photo<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>img</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> </code></pre> <p>So, problem ist, wenn ich ein Bild auswähle, und ich 5 Beiträge habe, werden alle Bilder bei jedem Beitrag angezeigt. Deswegen möchte ich die ID herausfinden, dass ich es so machen kann:</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>output-photo-<?= $row['id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>img</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> </code></pre> <p>Und per javascript es nur in einer Box anzeigen wo die ID gleich ist.</p> <pre><code class="block language-javascript"><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'.output-photo-'</span><span class="token operator">+</span>id<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">html</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 19 Jun 18 19:01:54 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725126#m1725126 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725126#m1725126 <p>Hallo,</p> <blockquote> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>datei<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>inputfile<span class="token punctuation">"</span></span> <span class="token attr-name">data-id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $row['id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> </code></pre> </blockquote> <p>dann probier mal</p> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>datei<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>inputfile<span class="token punctuation">"</span></span> <span class="token attr-name">data-id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $row['id']; ?><span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">onchange</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value javascript language-javascript"><span class="token function">upload</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">)</span></span><span class="token punctuation">"</span></span></span><span class="token punctuation">></span></span> </code></pre> <pre><code class="block language-javascript"><span class="token keyword">function</span> <span class="token function">upload</span><span class="token punctuation">(</span><span class="token parameter">ele</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">alert</span><span class="token punctuation">(</span>ele<span class="token punctuation">.</span>dataset<span class="token punctuation">.</span>id<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Wed, 20 Jun 18 05:27:10 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725129#m1725129 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725129#m1725129 <p>Jetzt zeigt er mir immer die gleiche ID.</p> <p>Beitrag 1 <input file data-id="1"></p> <p>Beitrag 2 <input file data-id="2"></p> <p>Beitrag 3 <input file data-id="3"></p> <p>Wenn ich jetzt bei Beitrag 3 input File drücke, zeigt er mir die Data-ID eins an. Also jedesmal sagt er nur die erste ID.</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Wed, 20 Jun 18 06:06:53 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725130#m1725130 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725130#m1725130 <p>Hallo,</p> <p>wie wär es, wenn du mal zeigst, was du gemacht hast, z.B. deine Testseite, oder den Quelltext, wie er im Browser ankommt.</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Fri, 22 Jun 18 09:15:38 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725302#m1725302 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725302#m1725302 <p>Hallo portseven,</p> <blockquote> <p>den Quelltext, wie er im Browser ankommt.</p> </blockquote> <p>Insbesondere den. Du zeigst uns derzeit nur deinen PHP Code; da mag auch noch was im Argen liegen.</p> <p>Wichtig ist, dass man sieht, wie genau Du die Event-Registrierung und das Handling implementiert hast; wenn Du bei jedem input die gleiche ID im Eventhandler liest, dann riecht das nach einer Panne an dieser Stelle.</p> <p>Grundsätzlich funktioniert Jürgens Ansatz nähmliχ.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 04:31:00 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725174#m1725174 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725174#m1725174 <p>hi</p> <blockquote> <blockquote> <p><a href="http://rolfrost.de/imgscale.html" rel="nofollow noopener noreferrer">Bei mir funktioniert das alles einwandfrei.</a></p> </blockquote> <p>wie hilft das dem OP?</p> </blockquote> <p>Davon geht ich aus! Es zeigt ja die Verwendung der File API! Und der Code dazu ist auch zu sehen! Aber ich denke, der OP hat ein anderes Problem: Ihm fehlen die Idee, das Verständnis zur FileAPI und das handwerkliche Geschick.</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 05:56:54 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725186#m1725186 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725186#m1725186 <p>hi <a href="/users/2" class="mention registered-user" rel="noopener noreferrer">@Matthias Apsel</a></p> <blockquote> <p>Ich: „Ich treff das Tor nicht.“ Ronaldo: „Ich schon.“</p> </blockquote> <p>Sämtlich Beispiele in SELFHTML wären diesbezüglich mal zu prüfen. Du bist doch im Vorstand, könntest Du das bitte mal veranlassen!?</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Fri, 22 Jun 18 09:02:21 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725301#m1725301 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725301#m1725301 <p>Hallo pl,</p> <p>natürlich fehlt ihm (noch) das handwerkliche Geschick und das Verständnis. Darum stellt er hier ja Fragen und gibt nicht die Antworten.</p> <p>Aus deiner Seite das Know-How herauszuziehen ist für den Erfahrungslevel, auf dem der OP unterwegs ist, allerdings eine Herausforderung. Genau wie für Dich eine wäre, diese Bogenlampe ins Tor zu ziehen, mit der CR7 das 3:3 gemacht hat (und für mich erstmal; ich bin ja froh wenn ich beim Schuss den Ball treffe und nicht den Fuß in die Wiese hacke).</p> <p>Dieses Problem haben wir alle irgendwo: eine Art inverses Dunning-Kruger Syndrom. Auf einer gewissen Erfahrungsstufe löst man die Basis-Probleme mit dem Rückenmark und vergisst, dass andere damit kämpfen.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 06:36:52 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725190#m1725190 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725190#m1725190 <p>Hallo,</p> <blockquote> <blockquote> <p>Ronaldo: „Ich schon.“</p> </blockquote> <p>Sämtlich Beispiele in SELFHTML wären diesbezüglich mal zu prüfen.</p> </blockquote> <p>Ob sie von Ronaldo getroffen wurden?</p> <p>Gruß<br> Kalk</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 07:02:57 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725195#m1725195 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725195#m1725195 <p>Hallo Rolf,</p> <blockquote> <blockquote> <p>Ich: „Ich treff das Tor nicht.“ Ronaldo: „Ich schon.“</p> </blockquote> <p>Sämtlich Beispiele in SELFHTML wären diesbezüglich mal zu prüfen. Du bist doch im Vorstand, könntest Du das bitte mal veranlassen!?</p> </blockquote> <p>da einige Beispiele von mir sind, fühle ich mich jetzt direkt angesprochen. Daher frage ich dich dirket: Welche Beispiele sind auf dem Niveau „Ich weiß wie es geht, du aber nicht!“? Und jetzt antworte nicht: „Alle“.</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 07:03:47 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725196#m1725196 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725196#m1725196 <p>Hallo JürgenB,</p> <blockquote> <p>da einige Beispiele von mir sind, fühle ich mich jetzt direkt angesprochen. Daher frage ich dich dirket: Welche Beispiele sind auf dem Niveau „Ich weiß wie es geht, du aber nicht!“? Und jetzt antworte nicht: „Alle“.</p> </blockquote> <p>Viele.</p> <p>*scnr* </p> <p>LG,<br> CK</p> <div class="signature">-- <br> <a href="https://wwwtech.de/about" rel="noopener noreferrer">https://wwwtech.de/about</a> </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 07:12:43 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725199#m1725199 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725199#m1725199 <p>Hallo,</p> <blockquote> <p>Daher frage ich dich dirket</p> </blockquote> <p>Das musst du doch aber Ronaldo fragen…</p> <p>Scnr</p> <p>Gruß<br> Kalk</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 12:31:36 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725239#m1725239 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725239#m1725239 <p>hi</p> <blockquote> <blockquote> <blockquote> <p>Ich: „Ich treff das Tor nicht.“ Ronaldo: „Ich schon.“</p> </blockquote> <p>Sämtlich Beispiele in SELFHTML wären diesbezüglich mal zu prüfen. Du bist doch im Vorstand, könntest Du das bitte mal veranlassen!?</p> </blockquote> <p>da einige Beispiele von mir sind, fühle ich mich jetzt direkt angesprochen. Daher frage ich dich dirket: Welche Beispiele sind auf dem Niveau „Ich weiß wie es geht, du aber nicht!“? Und jetzt antworte nicht: „Alle“.</p> </blockquote> <p>Doch. Wer mir ein solches Motiv zum Artikel schreiben unterstellt, der bekommt das auch genauso zurück.</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 21 Jun 18 12:44:20 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725240#m1725240 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725240#m1725240 <p>Hallo,</p> <p>muss ich die Antwort jetzt verstehen?</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Wed, 27 Jun 18 04:44:01 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725651#m1725651 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725651#m1725651 <p>hi,</p> <blockquote> <p>Aus deiner Seite das Know-How herauszuziehen ist für den Erfahrungslevel, auf dem der OP unterwegs ist, allerdings eine Herausforderung.</p> </blockquote> <p>Für einen, der mehrfach auf die FileAPI hingewiesen wird und sich vehement dagegen sträubt, sich das bischen (!) Wissen dazu mal selbst anzulesen, ist wahrscheinlich alles eine Herausforderung. Zumal hier mehrfach darauf hingewiesen wurde, daß auch <code>file</code> ein ganz gewöhnliches Array ist, was einen Index hat mit dem die einzelnen Bestandteile direkt adressierbar sind.</p> <p>Und wenn man schon einen eigenen Index auf eine Liste von mehreren über den Browser hochzuladenden Dateien legen will (was natürlich auch möglich ist), dann dürfte selbst einem Anfänger klar sein, daß ein solcher Index nicht serverseitig generiert werden kann, also eben auch nicht mit PHP sondern seinen Ursprung im Browser hat.</p> <p>MfG</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 26 Jun 18 17:18:33 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725628#m1725628 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725628#m1725628 <p>Hier ein kleines Video wie ich es meine bzw wie mein Problem aussieht:</p> <p>https://www.youtube.com/watch?v=MNxNpTBzIkw&feature</p> <p>Mein Code in HTML sieht so aus:</p> <pre><code class="block language-html"> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>add-comment<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>area<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>form-<?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>2<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>formarea<span class="token punctuation">"</span></span> <span class="token attr-name">enctype</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>multipart/form-data<span class="token punctuation">"</span></span> <span class="token attr-name">method</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>POST<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>textarea</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>send_comment send_comment-<?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>text<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>send_comment_by_id<span class="token punctuation">"</span></span> <span class="token attr-name">onPaste</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token punctuation">"</span></span> <span class="token attr-name">autocomplete</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>off<span class="token punctuation">"</span></span> <span class="token attr-name">autocorrect</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>off<span class="token punctuation">"</span></span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>Kommentieren... (Mit Enter absenden)<span class="token punctuation">"</span></span> <span class="token attr-name">onkeypress</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>return enter(event);<span class="token punctuation">"</span></span> <span class="token attr-name">data-id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value css language-css"><span class="token property">height</span><span class="token punctuation">:</span>46px<span class="token punctuation">;</span></span><span class="token punctuation">"</span></span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>textarea</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>hidden<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>id<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>comment_send_id<span class="token punctuation">"</span></span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>comment-photos<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>ul</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>li</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">onchange</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><span class="token value javascript language-javascript"><span class="token function">changeEventHandler</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span><span class="token punctuation">"</span></span></span> <span class="token attr-name">data-id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>datei<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>inputfile<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>label</span> <span class="token attr-name">for</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>img</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://png.icons8.com/color/50/000000/google-images.png<span class="token punctuation">"</span></span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span><?= $rowsafe['p_id']; ?><span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>label</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>li</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>ul</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>form</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span> </code></pre> <p>In Javascript:</p> <pre><code class="block language-javascript"> <span class="token keyword">function</span> <span class="token function">changeEventHandler</span><span class="token punctuation">(</span><span class="token parameter">ele</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> img <span class="token operator">=</span> event<span class="token punctuation">.</span>target<span class="token punctuation">.</span>value<span class="token punctuation">;</span> <span class="token keyword">var</span> value <span class="token operator">=</span> ele<span class="token punctuation">.</span>dataset<span class="token punctuation">.</span>id<span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span>img <span class="token operator">!=</span> <span class="token string">''</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> $<span class="token punctuation">.</span><span class="token function">ajax</span><span class="token punctuation">(</span><span class="token punctuation">{</span> <span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">'POST'</span><span class="token punctuation">,</span> <span class="token literal-property property">url</span><span class="token operator">:</span> <span class="token string">'beicht_comments_datas/photo.php'</span><span class="token punctuation">,</span> <span class="token literal-property property">data</span><span class="token operator">:</span> <span class="token keyword">new</span> <span class="token class-name">FormData</span><span class="token punctuation">(</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'#form-'</span><span class="token operator">+</span>value<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token literal-property property">async</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token literal-property property">cache</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token literal-property property">contentType</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token literal-property property">processData</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token function-variable function">success</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">data</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'.output-content'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">css</span><span class="token punctuation">(</span><span class="token string">'display'</span><span class="token punctuation">,</span> <span class="token string">'block'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'.output-photo-'</span><span class="token operator">+</span>value<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">html</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">'.output-content-'</span><span class="token operator">+</span>value<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">css</span><span class="token punctuation">(</span><span class="token string">'display'</span><span class="token punctuation">,</span> <span class="token string">'none'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre> Mit OnChange funktion den Value herausfinden und nicht per Klick Tue, 26 Jun 18 18:18:39 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725638#m1725638 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725638#m1725638 <p>Hallo,</p> <p>was hast du an meiner Antwort nicht verstanden?</p> <p>Quelltext <strong>ohne</strong> PHP, besser noch Link zur Testseite.</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 00:05:50 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725722#m1725722 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725722#m1725722 <p><a href="/users/68" class="mention registered-user" rel="noopener noreferrer">@JürgenB</a></p> <p>Habs leider falsch verstanden sorry. Hier ist der Link zur Seite.</p> <p><a href="http://test.liscon.bplaced.net/statistics.php?statistic=lastweek&topic=safetyposts&thema=posts" rel="nofollow noopener noreferrer">Seite</a></p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 02:05:47 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725723#m1725723 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725723#m1725723 <p>PS:</p> <p>HTML: Zeile 433-459</p> <p>JS: Zeile: 830-852</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 05:59:46 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725724#m1725724 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725724#m1725724 <p>Hallo,</p> <pre><code class="block language-javascript"><span class="token keyword">function</span> <span class="token function">changeEventHandler</span><span class="token punctuation">(</span><span class="token parameter">ele</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> form <span class="token operator">=</span> event<span class="token punctuation">.</span>target<span class="token punctuation">.</span>value<span class="token punctuation">;</span> </code></pre> <p>so, wie du den Eventhandler aufsetzt, gibt es das Objekt <code>event</code> nicht. Wenn du mit <code>event.target</code> arbeiten willst, musst du die Eventhandler mit <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event" rel="nofollow noopener noreferrer">addEventListener</a> notieren.</p> <p>Du hast übrigens die ID „file“ zweimal vergeben.</p> <p>Gruß<br> Jürgen</p> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 08:36:48 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725736#m1725736 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725736#m1725736 <p>Hallo portseven,</p> <p>wenn Du aus PHP heraus HTML-Blöcke in einer Schleife erzeugst, dann darfst Du nie vergessen, dass das in HTML keine Schleife ist, sondern mehrere HTML Blöcke die untereinander stehen. Dieses Problem sehe ich immer wieder bei Leuten, die hier Fragen posten und sich wundern, warum irgendwelche Events nicht so behandelt werden wie gewünscht. Du musst im PHP immer überlegen: welches HTML kommt am Ende 'raus, und wenn JavaScript hinzukommt, agiert dieses Script auf dem erzeugten HTML, nicht auf dem PHP Code.</p> <p>Wenn Du in PHP in einer Schleife identifizierende Attribute erzeugst (id, name), dann musst Du die die pro Schleifendurchlauf anpassen, sonst hast Du Kollisionen. Beispiel ist deine textarea und auch das file-input, deren IDs sind pro Durchlauf gleich.</p> <p>Ähnliches gilt für JavaScript. Das solltest Du nur dann innerhalb einer Schleife ins HTML schicken, wenn's gar nicht anders geht. Der Script-Code für deine textarea-Observer wird zweimal ausgegeben; du hast hier Pech, dass in JS eine zweite init-Funktion einfach die erste überschreibt, selbst im strict mode, so dass dein Code SCHEINBAR läuft, in Wahrheit aber auf Treibsand gebaut ist. Durch die doppelt vergebene ID der textarea registrierst Du die Observer zweimal auf der ersten textarea.</p> <p>Bei Scripten ist es meiner Meinung nach besser, sie in separaten .js Dateien zu halten und so zu schreiben, dass sie sich an Wiederholungsgruppen aus PHP selbst anpassen. D.h. eine bessere Observer-Registrierung würde in einem DOMContentLoaded Eventhandler alle textareas suchen, die entweder selbst eine bestimmte Klasse haben oder beispielsweise innerhalb von .add-comment stehen, und denen die Observer zuordnen. Analog solltest Du auch die change-Handler für die file-Uploads registrieren.</p> <p>Dass Du pro PHP Durchlauf gleiche IDs generierst, führt auch zu deinem Upload-Problem. Man klickt bei Dir ja nicht auf das file-Input (das versteckst Du), sondern auf das Label dazu. Und das Label ist mit <code>for="file"</code> spezifiziert, d.h. beide Labels beziehen sich auf das erste Upload-Control. Wenn man im Debugger einen Breakpoint in die changeEventHandler Funktion legt und dann, wenn der hält, den Callstack anschaut, sieht man, dass beide Male das 123-file-Input der Auslöser ist.</p> <p>Lösung 1: Gib den file-Inputs unterschiedliche IDs</p> <p>Oder Lösung 2: Lege das file-Input in das Label hinein, dann brauchst Du weder id noch for.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 08:38:55 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725737#m1725737 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725737#m1725737 <p>Hallo JürgenB,</p> <blockquote> <p>gibt es das Objekt event nicht</p> </blockquote> <p>doch, das gibt es. Zumindest bei mir in Chrome. Das ist eine globale Variable, die während einer Event-Ausführung definiert ist und die das Event-Objekt beinhaltet, inclusive der target-Eigenschaft.</p> <blockquote> <p>Du hast übrigens die ID „file“ zweimal vergeben.</p> </blockquote> <p>DAS ist das Problem, siehe meinen anderen Beitag.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> Mit OnChange funktion den Value herausfinden und nicht per Klick Thu, 28 Jun 18 08:45:27 Z https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725738#m1725738 https://forum.selfhtml.org/self/2018/jun/18/mit-onchange-funktion-den-value-herausfinden-und-nicht-per-klick/1725738#m1725738 <p>Hallo Rolf,</p> <blockquote> <blockquote> <p>gibt es das Objekt event nicht</p> </blockquote> <p>doch, das gibt es. Zumindest bei mir in Chrome. Das ist eine globale Variable, die während einer Event-Ausführung definiert ist und die das Event-Objekt beinhaltet, inclusive der target-Eigenschaft.</p> </blockquote> <p>in meinem FF (58) kam die Fehlermeldung „ReferenceError: event is not defined“. Daher habe ich auch nicht mehr weiter gesucht.</p> <p>Gruß<br> Jürgen</p>