几年前我开发了一个类似 LOGO 的基本海龟图形解释器,我不想把它放到网上(因为我表弟一直在烦我)。尽管我对 HTML、Javascript 编码还是很陌生,但我想我会尝试一下并将其作为学习经验。
下面的代码只是用于基本的 UI(我的 UI 看起来很丑,稍后我会清理它)。
我编写了一个 Javascript 函数 pushCmd,它被称为“cmd-form”的 onsubmit。
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;
}
表格声明如下。
<div id="command-container">
<form name="cmd-form" action="" onsubmit="pushCmd()" onreset="resetSource()" method="post">
<input type="text" name="cmd-text" size="80">
<input type="submit" value="Send">
<input type="reset" value="Reset">
<input type="button" value="Run">
</form>
</div>
pushCmd 函数应该改变 div "source-container" 的 HTML 内容,默认情况下如下所示。
<div id="source-container">NO CODE</div>
在我提交第一个文本(比如“FWD 100”)之后。“源容器”的内容应更改为“FWD 100”。那么如果我提交“RT 90”,内容应该是“FWD 100
RT 90”。这就是我所期望的。
但是当我提交文本时。“源容器”的内容只是瞬间改变,然后又回到“无代码”。为什么会这样,谁能指出我的错误在哪里?
我尝试了 get 和 post 方法,但结果是一样的。我在 Javascript 控制台中也看不到任何错误或警告。如果这很重要,我正在使用 Google chrome 版本 26.0.1410.63(我猜不是)。
如果您需要任何进一步的信息或完整的 HTML 源代码,请告诉我。