幫忙看下這里的問題?。?!
<!DOCTYPE?html> <html> ?<head> ??<title>?事件</title>?? ??<script?type="text/javascript"> ???function?count(){ ??????? ????//獲取第一個輸入框的值 ????var?a=document.getElementById("txt1").value; ???? //獲取第二個輸入框的值 ????var?b=document.getElementById("txt2").value; ???? //獲取選擇框的值 ????var?c=document.getElementById("select").value; ???? //獲取通過下拉框來選擇的值來改變加減乘除的運算法則 ????var?ia=parseInt(a); ????var?ib=parseInt(b); ????if((ia===a)&&(ib===b)) ????{ ??????switch(c) ????????{ ????????????case?"+": ????????????????document.getElementById("fruit").value=a+b; ????????????????break; ????????????case?"-": ????????????????document.getElementById("fruit").value=a-b; ????????????????break; ????????????case?"*": ????????????????document.getElementById("fruit").value=a*b; ????????????????break; ????????????case?"/": ????????????????if(b==0) ????????????????????{ ????????????????????????alert("被除數不能為0"); ????????????????????} ????????????????else{document.getElementById("fruit").value=a/b;} ????????????????break; ????????} ????????document.write(document.getElementById("fruit")); ????} ????else ????{alert("請輸入整數");} ????//設置結果輸入框的值? ???} ??</script>? ?</head>? ?<body> ???<input?type='text'?id='txt1'?/>? ???<select?id='select'> <option?value='+'>+</option> <option?value="-">-</option> <option?value="*">*</option> <option?value="/">/</option> ???</select> ???<input?type='text'?id='txt2'?/>? ???<input?type='button'?value='?=?'?onclick="count()"/>?<!--通過?=?按鈕來調用創建的函數,得到結果-->? ???<input?type='text'?id='fruit'?/>??? ?</body> </html>
1. 整數不起作用。 我這里的意圖是:判斷是否為整數,如果是,則繼續,不是則彈出提示
2. ?加號問題:為什么選擇加法的時候,成了兩個數字組合了?
? ? ?比如,1+2 ?變成了 12 ?; ? ? 2+6 變成 26
3.?
var?ia=parseInt(a); var?ib=parseInt(b); if((ia===a)||ib===b)
? ? 加入這段是對的,那么,是否可以用下面這個替換?
if((parseInt(a)===a)||(parseInt(b)===b))
2016-05-03
另外你用parseIn()已近強行把輸入的字符串強轉為整數了又何必再判斷是不是整數?你要判斷的是強轉之后得到的這個值是不是數字才對,因為有些字符串用parseIn()是不能強轉的,最終得到的是NaN;那么你用這個NaN再進行計算就會得到NaN
2016-05-03
頁面上獲取的值,包括數字都會被當成字符串,所以你獲取到的a,b都是字符串。搞清楚這個其他問題也就是小問題了
2016-04-24
把case后面的a+b,a-b,a*b,a/b都改成ia,ib。因為你是要進行整數運算的,所以這里也要使用整數,而a ,b是字符串,a+b表示字符串的拼接而不是整數相加。
===表示完全相等,即數據類型也必須相同,ia,ib是整型,a,b是字符串,你的判斷結果都會是不成立。
另外你?alert("被除數不能為0");這行代碼的分號寫成中文符號了。