<HTML>
<HEAD>
<TITLE>Test Input</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function validate (form) {
var TestVar = form.inputbox.value;
myArray = TestVar.split(',');
document.write(myArray.length);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myform" ACTION="" METHOD="GET">Enter something in the box: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE="" OnBlur="validate(this.form)" onkeydown="validate(this.form)" onkeyup="validate(this.form)" ><P>
<script type="text/javascript">validate(this.form);</script>
</FORM>
</BODY>
</HTML>
有人可以帮我解决这个问题。只要按下一个键,它就会结束。 我希望它无限期更新。 例 输入:你好 输出:1 输入你好,好,再见 输出:3 ...
答案 0 :(得分:2)
在文档加载后执行document.write()
时,它会清除当前文档并开始编写新文档。加载文档后不要使用document.write()
,除非在极少数情况下,这是您想要的效果。这不是你想要的。
如果您只是想查看myArray.length值用于调试目的,请使用console.log()
代替document.write()
并在控制台/调试窗口中查看它。
更好的方法是使用其中一个javascript调试器(Firebug for Firefox或Chrome,Opera和Safari中的内置调试器),并在验证函数中设置断点,并在发生变量时检查变量。
答案 1 :(得分:0)
<HTML>
<HEAD>
<TITLE>Test Input</TITLE>
</HEAD>
<BODY>
<form name="myForm">
<input type="text" id="inputbox" onkeydown="validate(form.this)"/>
<input type="text" name="textf"/>
</FORM>
<SCRIPT LANGUAGE="JavaScript">
function validate () {
var TestVar = myForm.inputbox.value;
var myArray = TestVar.split(',');
document.myForm.textf.value = myArray.length;
}
</SCRIPT>
</BODY>
</HTML>
这很容易。