Ich hatte vor ein paar Jahren einen LOGO-ähnlichen Turtle-Grafik-Basic-Interpreter entwickelt, den ich nicht ins Internet stellen wollte (weil mich mein Cousin immer wieder nervt). Obwohl ich ziemlich neu in HTML bin, Javascript-Programmierung dachte ich, ich würde es versuchen & nehmen Sie dies als eine Lernerfahrung.Selbstdefinierte Javascript-Funktion funktioniert nicht wie erwartet?
Der folgende Code ist nur für die grundlegende Benutzeroberfläche (meine Benutzeroberfläche sieht sehr hässlich aus und ich werde es später aufräumen).
Ich habe eine Javascript-Funktion pushCmd geschrieben, die onsubmit der "cmd-form" heißt.
function pushCmd()
{ var cmdText = document.forms["cmd-form"]["cmd-text"].value;
var srcElement = document.getElementById("source-container");
var srcText = new String(srcElement.innerHTML);
srcText = srcText.toUpperCase();
if (srcText.indexOf("NO CODE") != 0)
{
srcText = cmdText;
}
else
{
srcText += "<br>" + cmdText;
}
srcElement.innerHTML = srcText;
}
Das Formular wird wie folgt deklariert.
Die pushCmd-Funktion sollte den HTML-Inhalt des div "source-container" ändern, der standardmäßig wie folgt aussieht.
<div id="source-container">NO CODE</div>
Nachdem ich den ersten Text (sagen "FWD 100") einreichen. Der Inhalt des "Quellcontainers" sollte auf "FWD 100" geändert werden. Dann wenn ich "RT 90" einreiche, sollte der Inhalt "FWD 100
RT 90" sein. Das ist, was ich davon erwarte.
Aber wenn ich den Text einreiche. Der Inhalt des "Source-Containers" ändert sich nur für einen Augenblick und kommt dann wieder auf "NO CODE" zurück. Warum passiert das, kann jemand bitte darauf hinweisen, wo mein Fehler liegt?
Ich versuchte beide erhalten & Post-Methoden, aber das Ergebnis ist das gleiche. Ich kann auch keine Fehler oder Warnungen in der Javascript-Konsole sehen. Ich verwende Google Chrome Version 26.0.1410.63, wenn das wichtig ist (ich denke nicht).
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen oder die vollständige HTML-Quelle dafür benötigen.
Da du neu bei js bist, empfehle ich mit jQuery zu lernen. Es ist leicht zu erlernen/zu benutzen und dennoch sehr mächtig und kann viele Dinge viel einfacher machen, einschließlich der Auswahl bestimmter Elemente oder Gruppen von Elementen, Bindungsereignissen und Animationen. – smerny
@smerny ... Danke für den Vorschlag (kein Sarkasmus). Learning Jquery ist auf meiner To-Do-Liste. –
nur meine 2 Cent, denken Sie daran, weiterhin versuchen, JavaScript zu lernen, während Sie jQuery lernen. Es kann einfach sein, einfach zu lernen, wie man das Framework benutzt und nicht weiter ein Verständnis von hinter den Kulissen entwickelt. – keithwyland