2011-10-06 80 views
0
<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 ...javascript逗號計數器

+2

在文檔加載後不要使用'document.write()'。它將取代整個文件。 –

+0

明白了。 nick

回答

2

當您將文件加載後做document.write(),它會清除當前的文檔並開始書寫新的一。文件加載完畢後,請勿使用document.write(),除非極少數情況下您需要這種效果。這不是你想要的。

如果您只是想了解myArray.length值用於調試目的,請使用console.log()而不是document.write(),然後在控制檯/調試窗口中查看它。

更好的辦法是使用javascript調試器(Firebug for Firefox或Chrome,Opera和Safari中的內置調試器),並在validate函數中設置一個斷點,並在發生變化時檢查該變量。

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> 

這很簡單。