✔ 最佳答案
想問你function BReset(“1”)會做甚麼,重置 document.[formname].disp1.value嗎?
假設你 function BReset就是處理上述問題的程式,在程式某處應該有那裡像以下的東西:
a = document.[formname].disp1.value;
aa = isNaN(a) ; 不是number的話會傳回true,是number會傳回false。
(if aa = “false”) { 只在是數字時有反應。
(if a 》= 0) { a大過或等於零執行你想要的程式
}}
else return nil
注意,yahoo知識+ 自動將認為會打亂回答的字體改掉
2008-04-25 14:01:50 補充:
先解說寫了的:
1.) a = document.[formname].disp1.value;是會將任何寫在disp1個textbox裡的字或數字設定為a。
2.) aa = isNaN(a) ;isNaN(a)指is Not a Number,會看a是數字還是文字,不是數字回傳true。
2008-04-25 14:01:59 補充:
3.) if (aa = “false”) { } 因為你想在disp1.value是數字時有反應,所以應該在這裡寫接下去想要處理的。而aa=“true”那方面不用理或program,因為你不想對在disp1.value裡的非數字執行甚麽。話雖如此,else return 0 (應該是0不是nil)已經連aa=“true”的可能性一起處理掉,所以當aa=“true”就不會做任何事
2008-04-25 14:02:04 補充:
4.) if (a 》= 0) {} 這個是在 if(aa = “false”)內的程式,只有disp1.value達成aa = “false”才會執行。而當a是大於或等於零(yahoo會把[大於]這符號變亂碼,所以由》代替)亦是disp1.value是任何正數時才會執行的程式。
2008-04-25 14:26:27 補充:
至於你set左個boolean叫click:
你在if (a 》= 0) {} 內設定click=“true”,加入你想執行的程式於此,之後在此程式外(即我寫的else return 0那裡)在else 裡加入click=“false”(當disp1.value不是正數click便會變回false,鎖住start同reset制)。
即改成這樣:
else { click=“true”;return 0 ;}
回傳 0 即 return 0 會將程式完成及傳回0
2008-04-25 14:39:58 補充:
你start同reset制最好由同一組function來處理,比如說Mainfunction加上你BReset 及 BStart,不過如何設計因人而異。由boolean click來控制鎖或不鎖button 是不錯的方式,好點子。
不過因不太明白你想start甚麼,所以未必是完全理想的答案,但都希望有幫助。