几年前,我开发了一个LOGO般的基本乌龟图形解释器,我不想把它放在网上(因为我的表弟一直在窃听我)。尽管我对HTML,Javascript编码颇为陌生,但我认为我会试试&,以此作为学习体验。自定义Javascript函数不能按我的预期工作?
下面的代码只是基本的用户界面(我的用户界面看起来非常丑,我会在以后清理它)。
我已经写了一个叫做“cmd-form”的onsubmit的Javascript函数pushCmd。
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”。这是我期望的。
但是当我提交文本。 “源容器”的内容只是瞬间变化,然后再次回到“无代码”。为什么会发生这种情况,谁能指出我的错误在哪里?
我试过都得到&后的方法,但结果是一样的。我在Javascript控制台中看不到任何错误或警告。我使用谷歌浏览器版本26.0.1410.63如果重要的话(我猜不是)。
如果您需要任何进一步的信息或完整的HTML源代码,请让我知道。
既然你是js的新手,我建议你用jQuery学习。它很容易学习/使用,但功能非常强大,可以使许多事情更容易,包括选择某些元素或元素组,绑定事件和动画。 – smerny 2013-04-24 20:57:27
@smerny ...感谢您的建议(没有讽刺)。学习jQuery是在我的待办事项清单上。 – 2013-04-24 21:07:45
只是我的2美分,记得在学习jQuery的同时不断尝试学习JavaScript。可以很容易地学习如何使用框架,而不是继续开发对幕后的理解。 – keithwyland 2013-04-24 21:14:27