JavaScript - Eingabe-Ausgabe – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 07:36:55 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697560#m1697560 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697560#m1697560 <p>Guten Morgen…</p> <p>...folgendes Problem:</p> <p>es gibt 3 Elemente</p> <ul> <li> <p>Eingabefeld <input typ="input"></p> </li> <li> <p>Button <input type="button"></p> </li> <li> <p>Ausgabefeld <output typ="output"></p> </li> </ul> <p>Im Eingabefeld möchte ich gerne eine 14stlg. alpha-nummerische Nummer eingeben können</p> <p>(Bsp.: 491C00A7535597)</p> <p>mit klick auf den Button soll mir im Ausgabefeld nur bestimmte stellen der alpha-nummerischen Nummer in eigens definierter Reihenfolge angezeigt werden.</p> <p>in dem Fall:</p> <p>1- 6.Stelle der Nr</p> <p>2- 13.Stelle der Nr</p> <p>3- 10. Stelle der Nr</p> <p>4- 14. Stelle der Nr</p> <p>5- 11. Stelle der Nr</p> <p>Lösung zum Bsp.: 09375</p> <p>Fragen:</p> <p>-Kann man so etwas in Javascript umsetzen?</p> <p>-Kann man es ohne einen Button (z.B. mit <input type"input"> + [ENTER]) im Ausgabefeld anzeigen lassen?</p> <p>Grüße</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 07:46:54 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697563#m1697563 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697563#m1697563 <p>Hallo</p> <blockquote> <p>es gibt 3 Elemente</p> <ul> <li> <p>Eingabefeld <input typ="input"></p> </li> <li> <p>Button <input type="button"></p> </li> <li> <p>Ausgabefeld <output typ="output"></p> </li> </ul> <p>Im Eingabefeld möchte ich gerne eine 14stlg. alpha-nummerische Nummer eingeben können</p> <p>(Bsp.: 491C00A7535597)</p> <p>mit klick auf den Button soll mir im Ausgabefeld nur bestimmte stellen der alpha-nummerischen Nummer in eigens definierter Reihenfolge angezeigt werden.</p> <p>in dem Fall:</p> <p>1- 6.Stelle der Nr<br> 2- 13.Stelle der Nr<br> 3- 10. Stelle der Nr<br> 4- 14. Stelle der Nr<br> 5- 11. Stelle der Nr</p> <p>Lösung zum Bsp.: 09375</p> <p>Fragen:</p> <p>-Kann man so etwas in Javascript umsetzen?</p> </blockquote> <p>Ja. Du hast den alphanumerischen String und kannst dessen zeichen durchzählen, extrahieren und eine Ausgabe erstellen.</p> <blockquote> <p>-Kann man es ohne einen Button (z.B. mit <input type"input"> + [ENTER]) im Ausgabefeld anzeigen lassen?</p> </blockquote> <p>Ja. Du erzeugst zwei <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event#Einrichtung_der_Ereignis.C3.BCberwachung_.28addEventListener.29" rel="nofollow noopener noreferrer">Eventhandler</a>, für den Button <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event/click" rel="nofollow noopener noreferrer">click</a> und für das Absenden (das mit Enter ausgelöst würde) <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event/submit" rel="nofollow noopener noreferrer">submit</a> und rufst bei beiden Events die gleiche Funktion auf, die den Code zur Stringverarbeitung enthält.</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.<br> Toller Dampf voraus von Terry Pratchett </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:00:12 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697565#m1697565 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697565#m1697565 <p>@@XentriX5526</p> <blockquote> <p>1- 6.Stelle der Nr</p> <p>2- 13.Stelle der Nr</p> <p>3- 10. Stelle der Nr</p> <p>4- 14. Stelle der Nr</p> <p>5- 11. Stelle der Nr</p> <p>Lösung zum Bsp.: 09375</p> <p>Fragen:</p> <p>-Kann man so etwas in Javascript umsetzen?</p> </blockquote> <p>Ja, klar. Entweder wendest du einen regulären Ausdruck <code>.....(.)...(.)(.).(.)(.)</code> an, wobei ein <code>.</code> für ein Zeichen steht und diejenigen, die du ausgeben willt, in Klammern stehen. Ausgabe in der Reihenfolge des Vorkommens: <code>$1$4$2$5$3</code>.</p> <p>Oder du verwendest die Stringfunktion <code>substr()</code>.</p> <blockquote> <p>-Kann man es ohne einen Button (z.B. mit <input type"input"> + [ENTER]) im Ausgabefeld anzeigen lassen?</p> </blockquote> <p>Formulare werden auch mit [Enter] abgeschickt. Pack die Elemente in ein <code>form</code>-Element. Die Bearbeitung der Eingabe/Ausgabe erfolgt nicht auf <code>click</code>-Event des Buttons, sondern auf <code>submit</code>-Event des Formulars.</p> <p>(Der Button muss dazu ein Submit-Button sein, also nicht <code>type="button"</code>.)</p> <p>Das Standard-Absenden des Formulars unterdrückst du mit <code>Event.preventDefault()</code>.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:24:03 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697573#m1697573 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697573#m1697573 <p>Tach!</p> <blockquote> <ul> <li>Eingabefeld <input typ="input"></li> </ul> </blockquote> <p>type="text" wolltest du an dieser Stelle wohl nehmen.</p> <p>dedlfix.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 09:09:36 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697589#m1697589 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697589#m1697589 <p>@@XentriX5526</p> <blockquote> <p>...folgendes Problem:</p> <p>es gibt 3 Elemente</p> <ul> <li> <p>Eingabefeld <input typ="input"></p> </li> <li> <p>Button <input type="button"></p> </li> <li> <p>Ausgabefeld <output typ="output"></p> </li> </ul> </blockquote> <p><strong>Problem:</strong> Jedes Eingabefeld sollte eine <a href="https://wiki.selfhtml.org/wiki/HTML/Formulare/Gestaltung#label" rel="nofollow noopener noreferrer">Beschriftung (<code>label</code>-Element)</a> haben. Woher soll ein Nuzter sonst wissen, was dort einzugeben ist?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 17:31:57 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697627#m1697627 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697627#m1697627 <p>Hallo XentriX5526,</p> <p>zum schon Gesagten ein Ansatz mit dem guten alten arguments-Objekt und dem Hintergrund, dass sich Zeichenketten auch direkt über einen Laufindex ab 0 abfragen lassen:</p> <pre><code class="block language-javascript"><span class="token keyword">function</span> <span class="token function">str_generate</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> args <span class="token operator">=</span> arguments<span class="token punctuation">.</span>length<span class="token punctuation">;</span> <span class="token keyword">var</span> rets <span class="token operator">=</span> <span class="token string">""</span><span class="token punctuation">;</span> <span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> i <span class="token operator"><</span> args<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> rets <span class="token operator">+=</span> arguments<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">[</span>arguments<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// oder:</span> <span class="token comment">// rets += arguments[0].charAt([arguments[i] - 1]); </span> <span class="token punctuation">}</span> <span class="token keyword">return</span> rets<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">var</span> inp_str <span class="token operator">=</span> <span class="token string">"491C00A7535597"</span><span class="token punctuation">;</span> <span class="token keyword">var</span> out_str <span class="token operator">=</span> <span class="token function">str_generate</span><span class="token punctuation">(</span>inp_str<span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">,</span> <span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">14</span><span class="token punctuation">,</span> <span class="token number">11</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">alert</span><span class="token punctuation">(</span>out_str<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 09375</span> </code></pre> <p>Grüße,<br> Thomas</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:13:33 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697569#m1697569 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697569#m1697569 <p>@@Auge</p> <blockquote> <p>Ja. Du erzeugst zwei <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event#Einrichtung_der_Ereignis.C3.BCberwachung_.28addEventListener.29" rel="nofollow noopener noreferrer">Eventhandler</a>, für den Button <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event/click" rel="nofollow noopener noreferrer">click</a> und für das Absenden (das mit Enter ausgelöst würde) <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Event/submit" rel="nofollow noopener noreferrer">submit</a></p> </blockquote> <p>Wozu das denn?</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:10:26 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697568#m1697568 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697568#m1697568 <p>super... danke für die antworten!</p> <p>Würdet ihr mir bei der erarbeitung des codes helfen?</p> <p>PS: Helfen=Ich schreibe hier einen code so gut wie ich es mit meinen kenntnissen hinbekmme und ihr helft mir Fehler abzustellen… Ich bin kein schmarotzer der einen fertigen code erbittet.</p> <p> </p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:14:15 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697570#m1697570 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697570#m1697570 <blockquote> <p>Ja, klar. Entweder wendest du einen regulären Ausdruck .....(.)...(.)(.).(.)(.) an, wobei ein . für ein Zeichen steht</p> </blockquote> <p>Das Problem in JS ist, dass der Punkt eben nicht auf jedes beliebige Zeichen matcht.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:19:12 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697571#m1697571 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697571#m1697571 <p>@@Gunnar Bittersmann</p> <blockquote> <p>Oder du verwendest die Stringfunktion <code>substr()</code>.</p> </blockquote> <p>Statt <code>String.substr(position, 1)</code> tut’s natürlich auch <code>String.charAt(position)</code>.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:50:22 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697583#m1697583 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697583#m1697583 <p>@@Gunnar Bittersmann</p> <blockquote> <p>Die Bearbeitung der Eingabe/Ausgabe erfolgt nicht auf <code>click</code>-Event des Buttons, sondern auf <code>submit</code>-Event des Formulars.</p> </blockquote> <p>Hm, das <code>click</code>-Event des Submit-Buttons feuert auch, wenn das Formular per [Enter] abgeschickt wird‽</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:19:59 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697572#m1697572 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697572#m1697572 <p>@@Marvin</p> <blockquote> <p>Würdet ihr mir bei der erarbeitung des codes helfen?</p> </blockquote> <p>Ja, klar. Wenn du konkrete Fragen hast, immer her damit.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:24:31 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697574#m1697574 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697574#m1697574 <p>Tach!</p> <blockquote> <blockquote> <p>Ja, klar. Entweder wendest du einen regulären Ausdruck .....(.)...(.)(.).(.)(.) an, wobei ein . für ein Zeichen steht</p> </blockquote> <p>Das Problem in JS ist, dass der Punkt eben nicht auf jedes beliebige Zeichen matcht.</p> </blockquote> <p>Ja, Newlines sind ausgeklammert. Aber die kommen in einer einzeiligen Eingabe nicht vor. Oder welche Zeichen meinst du?</p> <p>dedlfix.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:26:50 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697575#m1697575 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697575#m1697575 <p>jaaa.... <em>peinlich</em></p> <pre><code class="block language-javascript"><span class="token operator"><</span>script language<span class="token operator">=</span><span class="token string">"javascript"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">!</span><span class="token operator">--</span><span class="token comment">//</span> <span class="token keyword">function</span> <span class="token function">gener</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> str <span class="token operator">=</span> sernr<span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementByName</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> res<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">//--></span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span>form<span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"text"</span> name<span class="token operator">=</span><span class="token string">"sernr"</span> size<span class="token operator">=</span><span class="token string">"14"</span><span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"submit"</span> onClick<span class="token operator">=</span><span class="token string">"gener(this.form)"</span> value<span class="token operator">=</span><span class="token string">"Umwandeln"</span><span class="token operator">></span> <span class="token operator"><</span>output type<span class="token operator">=</span><span class="token string">"output"</span> name<span class="token operator">=</span><span class="token string">"code1"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>form<span class="token operator">></span> </code></pre> <p>soweit bin ich jetzt.... klappt aber nicht :(</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:30:55 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697578#m1697578 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697578#m1697578 <p>str.charAt(0) ... gefällt mir besser...</p> <pre><code class="block language-javascript"><span class="token operator"><</span>script language<span class="token operator">=</span><span class="token string">"javascript"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">!</span><span class="token operator">--</span><span class="token comment">//</span> <span class="token keyword">function</span> <span class="token function">gener</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> str <span class="token operator">=</span> sernr<span class="token punctuation">;</span> <span class="token keyword">var</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> document<span class="token punctuation">.</span><span class="token function">getElementByName</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> res<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">//--></span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span>form<span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"text"</span> name<span class="token operator">=</span><span class="token string">"sernr"</span> size<span class="token operator">=</span><span class="token string">"14"</span><span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"submit"</span> onClick<span class="token operator">=</span><span class="token string">"gener(this.form)"</span> value<span class="token operator">=</span><span class="token string">"Umwandeln"</span><span class="token operator">></span> <span class="token operator"><</span>output type<span class="token operator">=</span><span class="token string">"output"</span> name<span class="token operator">=</span><span class="token string">"code1"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>form<span class="token operator">></span> </code></pre> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:34:33 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697579#m1697579 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697579#m1697579 <p>Tach!</p> <blockquote> <p>soweit bin ich jetzt.... klappt aber nicht :(</p> </blockquote> <p>Was klappt nicht? Was tust du, was soll werden, was passiert stattdessen? Diese drei Fragen solltest du dir jeweils aus der Sicht des Anwenders und aus der Sicht des Entwicklers stellen.</p> <p>Für letztere haben die Browser Entwicklerwerkzeuge an Bord. Nutze sie (meist mit F12 zu erreichen). Besonders die Console ist die erste Anlaufstelle, da dort die Fehlermeldungen erscheinen.</p> <p>Der nächste Punkt sind Kontrollausgaben zum Nachvollziehen des Programmablaufs. Oder du verwendest den Debugger. Das ist ein mächtiges Tool, erfordert aber etwas Einarbeitung.</p> <p>dedlfix.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:48:21 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697582#m1697582 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697582#m1697582 <p>@@XentriX5526</p> <blockquote> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span> <span class="token attr-name">language</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>javascript<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <!--// </code></pre> </blockquote> <p><code class="bad">language="javascript"</code> ist ebenso unsinnig wie die Auskommentierung mit <code class="bad"><!--//</code> und <code class="bad">//--></code>. Weg damit!</p> <blockquote> <pre><code class="block language-javascript"><span class="token keyword">function</span> <span class="token function">gener</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> str <span class="token operator">=</span> sernr<span class="token punctuation">;</span> </code></pre> </blockquote> <p>Das wird so nichts. Den Wert des Eingabefeldes bekommst du über dessen <code>value</code>-Eigenschaft.</p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:59:20 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697587#m1697587 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697587#m1697587 <p>Hallo</p> <blockquote> <pre><code class="block language-javascript"><span class="token operator"><</span>script language<span class="token operator">=</span><span class="token string">"javascript"</span><span class="token operator">></span> </code></pre> </blockquote> <p>Lasse „ language="javascript"“ weg.</p> <blockquote> <pre><code class="block language-javascript"><span class="token operator"><</span><span class="token operator">!</span><span class="token operator">--</span><span class="token comment">//</span> </code></pre> </blockquote> <p>Lasse diesen unnützen Kommentar weg.</p> <blockquote> <pre><code class="block language-javascript"> <span class="token keyword">var</span> str <span class="token operator">=</span> sernr<span class="token punctuation">;</span> </code></pre> </blockquote> <p>Was ist, bzw. woher kommt <em>die Variable</em> <code>sernr</code>? Wenn du das Eingabefeld mit dem Namen haben willst, musst du es schon identifizieren. Du kannst zwar über die Eingabefelder gehen, auch nur über die vom Typ „text“, da es sich hier um <em><strong>ein</strong> bestimmtes</em> Feld geht, ist die identifizioerung über eine ID besser geeignet.</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>text<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>sernr<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>sernr<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>14<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> </code></pre> <pre><code class="block language-javascript"> <span class="token keyword">var</span> str <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"sernr"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span> </code></pre> <blockquote> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Du überschreibst in jeder Zeile den in der Vorzeile ermittelten Wert. Du willst die Werte aber an die vorher ermittelten Werte <em>anhängen</em>. Das geht z.B. mit einer Verkettung (Concatenation).</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> <p>Ob du nachher lieber <code>charAt</code> statt <code>substr</code> einsetzen willst, wie du es <a href="https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697578#m1697578" rel="noopener noreferrer">in einem weiteren Posting</a> gezeigt hast, bleibt dir überlassen. Es sieht zumindest treffender und weniger umständlich aus. Das Prinzip bleibt das Gleiche. Ich habe einfach den hier vorhandenen Code benutzt.</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.<br> Toller Dampf voraus von Terry Pratchett </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:39:20 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697580#m1697580 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697580#m1697580 <ul> <li> <p>die gewünschte Ausgabe funktioniert nicht.</p> </li> <li> <p>klick auf "Umwandeln"</p> </li> <li> <p>Console gibt wieder:</p> </li> </ul> <p>Uncaught SyntaxError: Unexpected token .</p> <p>var sernr.charAt(5);</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:57:10 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697586#m1697586 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697586#m1697586 <p>Tach!</p> <blockquote> <p>Uncaught SyntaxError: Unexpected token .</p> <p>var sernr.charAt(5);</p> </blockquote> <p>Ja, das ist ja auch kein syntaktisch sinnvoller Ausdruck. "Definiere eine Variable, hier hast du einen Ausdruck zum Berechnen des Inhalts." Wo ist der Name der Variablen, die angelegt werden soll? Und das Gleichheitszeichen das danach folgend vorgeschrieben ist?</p> <p>dedlfix.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 08:52:40 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697585#m1697585 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697585#m1697585 <pre><code class="block"><script> function gener(form) { var sernr = document.getElementById("sernr")**.value;** var sernr.charAt(5); /*6. Zeichen*/ var sernr.charAt(12); /*13. Zeichen*/ var sernr.charAt(9); /*10. Zeichen*/ var sernr.charAt(13); /*14. Zeichen*/ var sernr.charAt(10); /*11. Zeichen*/ document.getElementById("code1").innerHTML = res; } </script> <form> <input type="text" id="sernr" **value="sernr"** size="14"> <output type="output" id="code1"> </form> </code></pre> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 15:42:59 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697623#m1697623 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697623#m1697623 <p>Hallo Gunnar Bittersmann,</p> <blockquote> <p>Hm, das <code>click</code>-Event des Submit-Buttons feuert auch, wenn das Formular per [Enter] abgeschickt wird‽</p> </blockquote> <p>Ja, darüber habe ich mich auch schon gewundert, es aber nicht weiter untersucht. Offenbar wird ein Click simuliert.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 09:02:17 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697588#m1697588 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697588#m1697588 <p>@@XentriX5526</p> <blockquote> <pre><code class="block language-js"> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*6. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*13. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*10. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*14. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*11. Zeichen*/</span> </code></pre> </blockquote> <p>Hier solltest du auch mit Fehlermeldungen überhäuft werden.</p> <p>BTW, die fünf Kommentare sind wohl überflüssig; der Methodenname <code>charAt()</code> ist selbstsprechend.</p> <p>Wenn, dann ein Kommentar à la <code class="language-js"><span class="token comment">// Zählung beginnt bei 0.</span></code></p> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 09:17:12 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697591#m1697591 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697591#m1697591 <p>Jetzt blitzt mal kurz etwas auf... die Ausgabe ist aber so schnell weg dass ich sie nicht sehen kann…</p> <pre><code class="block language-javascript"><span class="token operator"><</span>script<span class="token operator">></span> <span class="token keyword">function</span> <span class="token function">gener</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> str <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"sernr"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//6. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//13. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//10. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//14. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//11. Zeichen</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>innerHTML <span class="token operator">=</span> res<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span>form<span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"text"</span> name<span class="token operator">=</span><span class="token string">"sernr"</span> id<span class="token operator">=</span><span class="token string">"sernr"</span> size<span class="token operator">=</span><span class="token string">"14"</span><span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"submit"</span> onClick<span class="token operator">=</span><span class="token string">"gener(this.form)"</span> value<span class="token operator">=</span><span class="token string">"Umwandeln"</span><span class="token operator">></span> <span class="token operator"><</span>output type<span class="token operator">=</span><span class="token string">"output"</span> id<span class="token operator">=</span><span class="token string">"code1"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>form<span class="token operator">></span> </code></pre> <p>Console: <code>-keine Einträge−</code></p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 11:00:40 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697604#m1697604 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697604#m1697604 <p>Hello,</p> <blockquote> <blockquote> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Du überschreibst in jeder Zeile den in der Vorzeile ermittelten Wert. Du willst die Werte aber an die vorher ermittelten Werte <em>anhängen</em>. Das geht z.B. mit einer Verkettung (Concatenation).</p> <pre><code class="block bad language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> </blockquote> <p><em>Hä?</em> ;-)</p> <p>Nicht besser so?</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> <p>Liebe Grüße<br> Tom S.</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es<br> Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.<br> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 09:33:11 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697597#m1697597 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697597#m1697597 <p>Tach!</p> <blockquote> <blockquote> <pre><code class="block language-js"> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*6. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*13. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*10. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*14. Zeichen*/</span> <span class="token keyword">var</span> sernr<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/*11. Zeichen*/</span> </code></pre> </blockquote> <p>Hier solltest du auch mit Fehlermeldungen überhäuft werden.</p> </blockquote> <p>Nacheinander vielleicht, wenn man jeden Fehler einzeln beseitigt. Ansonsten bricht die Verarbeitung ja nach dem ersten Syntaxfehler ab.</p> <p>dedlfix.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 10:35:03 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697601#m1697601 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697601#m1697601 <p>Nach langem probieren konnte ich den "aufblitzenden" Text in einem Screenshot festhalten… Bei eingabe von Serialnummer "12345678901234" kommt im Output "123456789012341"</p> <pre><code class="block language-javascript"><span class="token operator"><</span>script<span class="token operator">></span> <span class="token keyword">function</span> <span class="token function">convert</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> str <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"serial"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//6. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//13. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//10. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//14. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//11. Zeichen</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>textContent <span class="token operator">=</span> res<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span> <span class="token operator"><</span>form<span class="token operator">></span> <span class="token operator"><</span>input type<span class="token operator">=</span><span class="token string">"text"</span> name<span class="token operator">=</span><span class="token string">"serial"</span> id<span class="token operator">=</span><span class="token string">"serial"</span> size<span class="token operator">=</span><span class="token string">"14"</span> maxlength<span class="token operator">=</span><span class="token string">"14"</span> placeholder<span class="token operator">=</span><span class="token string">"491C00A7535597"</span><span class="token operator">></span><span class="token operator"><</span>br<span class="token operator">></span> <span class="token operator"><</span>output id<span class="token operator">=</span><span class="token string">"code1"</span><span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>output<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>form<span class="token operator">></span> </code></pre> <p>Es funktioniert also leider immer noch nicht.</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 09:29:10 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697595#m1697595 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697595#m1697595 <p>Hallo</p> <blockquote> <p>Jetzt blitzt mal kurz etwas auf... die Ausgabe ist aber so schnell weg dass ich sie nicht sehen kann…</p> </blockquote> <p>Ok. Ist das aufblitzende Etwas wenigstens länger als ein Zeichen?</p> <blockquote> <pre><code class="block language-html"><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>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>text<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>sernr<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>sernr<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>14<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>submit<span class="token punctuation">"</span></span> <span class="token special-attr"><span class="token attr-name">onClick</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">gener</span><span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span>form<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>Umwandeln<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>output</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>output<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>code1<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> </blockquote> <p>Output soll Inhalt haben (dein String), bedarf also eines Endtags. Das Attribut <code>type</code> mit dem Wert „output“ ist hier Blödsinn.</p> <pre><code class="block language-html"> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>output</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>code1<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>output</span><span class="token punctuation">></span></span> </code></pre> <p>Da wir keine HTML-Struktur in das <code>output</code> einfügen wollen, ist die Beschränkung auf <a href="https://wiki.selfhtml.org/wiki/JavaScript/DOM/Node/textContent" rel="nofollow noopener noreferrer"><code>textContent</code></a> statt <code>innerHTML</code> sinnvoll. Die letzte Zeile deiner Funktion <code>gener</code> sollte also folgendermaßen aussehen.</p> <pre><code class="block language-javascript"> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>textContent <span class="token operator">=</span> res<span class="token punctuation">;</span> </code></pre> <p>Der Name der Funktion sollte im Übrigen „sprechender“ sein, damit du auch in einem halben Jahr noch auf Anhieb siehst, was die Funktion tun soll.</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.<br> Toller Dampf voraus von Terry Pratchett </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 13:48:56 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697620#m1697620 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697620#m1697620 <p>Hallo,</p> <blockquote> <p>Nacheinander vielleicht, wenn man jeden Fehler einzeln beseitigt.</p> </blockquote> <p>Kalks Rule of debuggin, § 7<br> Nach dem drittenmal darf man gleichartige Fehler gemeinsam beseitigen!</p> <p>Gruß<br> Kalk</p> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 10:44:34 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697603#m1697603 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697603#m1697603 <p>Hallo</p> <blockquote> <p>Nach langem probieren konnte ich den "aufblitzenden" Text in einem Screenshot festhalten… Bei eingabe von Serialnummer "12345678901234" kommt im Output "123456789012341"</p> </blockquote> <p>Ah ja, du hängst das erste Zeichen von <code>str</code> an <code>str</code> an. Das war <a href="https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697587#m1697587" rel="noopener noreferrer">mein Fehler</a>. Die einzelnen Zeichen müssen natürlich an deine neue Variable angehängt werden.</p> <blockquote> <pre><code class="block language-javascript"><span class="token keyword">function</span> <span class="token function">convert</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> str <span class="token operator">=</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"serial"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>value<span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//6. Zeichen</span> <span class="token keyword">var</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">charAt</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//13. Zeichen</span> <span class="token comment">// u.s.w. u.s.f.</span> document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">"code1"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>textContent <span class="token operator">=</span> res<span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> </blockquote> <p>Eine Antwort auf die Frage, warum das Ergebnis „nur aufblitzt“, habe ich allerdings auch nicht.</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.<br> Toller Dampf voraus von Terry Pratchett </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 15:45:52 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697624#m1697624 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697624#m1697624 <p>Hallo Auge,</p> <blockquote> <p>Eine Antwort auf die Frage, warum das Ergebnis „nur aufblitzt“, habe ich allerdings auch nicht.</p> </blockquote> <p>Weil das von Gunnar vorgeschlagene Formular abgesendet und somit die Seite neu geladen wird?</p> <p><code>preventDefault()</code> sollte helfen.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Rosen sind rot. </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 11:13:05 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697606#m1697606 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697606#m1697606 <p>@@TS</p> <blockquote> <p><em>Hä?</em> ;-)</p> <p>Nicht besser so?</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> </blockquote> <p><em>Hä?</em> ;-)</p> <p>Nicht besser so?</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>LLAP </p> <div class="signature">-- <br> “When UX doesn’t consider <em>all</em> users, shouldn’t it be known as ‘<em>Some</em> User Experience’ or... SUX? #a11y” —<a href="https://twitter.com/thebillygregory/status/552466012713783297" rel="nofollow noopener noreferrer">Billy Gregory</a> </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 11:27:09 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697608#m1697608 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697608#m1697608 <p>Hallo</p> <blockquote> <blockquote> <pre><code class="block bad language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">var</span> res <span class="token operator">=</span> str <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> </blockquote> <p><em>Hä?</em> ;-)</p> </blockquote> <p>Abgesehen von den im weiteren Verlauf beschriebenen Optimierungsmöglichkeiten bitte <a href="https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697603#m1697603" rel="noopener noreferrer">hier entlang</a>. Du bist <a href="https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697601#m1697601" rel="noopener noreferrer">nicht der Erste</a>, dem das aufgefallen ist. :-)</p> <p>Tschö, Auge</p> <div class="signature">-- <br> Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.<br> Toller Dampf voraus von Terry Pratchett </div> JavaScript - Eingabe-Ausgabe Mon, 26 Jun 17 11:17:34 Z https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697607#m1697607 https://forum.selfhtml.org/self/2017/jun/26/javascript-eingabe-ausgabe/1697607#m1697607 <p>Hello lieber Gunnar,</p> <blockquote> <blockquote> <p><em>Hä?</em> ;-)</p> <p>Nicht besser so?</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> res <span class="token operator">=</span> res <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// u.s.w. u.s.f.</span> </code></pre> </blockquote> <p><em>Hä?</em> ;-)</p> <p>Nicht besser so?</p> <pre><code class="block language-javascript"> <span class="token keyword">var</span> res <span class="token operator">=</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">12</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">13</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">+</span> str<span class="token punctuation">.</span><span class="token function">substr</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> </blockquote> <p>Ich habe das absichtlich ausführlich geschrieben.<br> Es kommen vermutlich noch weitere Abfragen hinzu, damit man bei <code>str</code> z. B. nicht ins Leere greift.</p> <p>Grundsätzlich hast Du natürlich fast Recht. Aber wenn man es auf die Spitze treibt, kann man auch <code>var res</code> noch einsparen ...</p> <p>Liebe Grüße<br> Tom S.</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es<br> Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.<br> </div>