代碼檢查了幾十遍,感覺沒有問題啊,但是就是得不到結果
<!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 sum;
??? switch(c){
??? case "+":sum=a+b;break;
??? case "-":sum=a-b;break;
??? case "*":sum=a*b;break;
??? case "/":sum=a/b;break;
??? }
??? //獲取第一個輸入框的值
?? ?//獲取第二個輸入框的值
?? ?//獲取選擇框的值
?? ?//獲取通過下拉框來選擇的值來改變加減乘除的運算法則
??? //設置結果輸入框的值
??? document.getElementById(fruit).value=sum;
?? }
?
? </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>
2016-09-09
簡單的說不加這個,這個代碼的加法會是這樣的:1+1=11,2+2=22
在js中“+”是字符串拼接的功能,而js有帶有變量自動轉換,會把數字自動轉換成字符串
他的代碼之所以運行不了是沒有單引號和雙引號是中文的雙引號引起的
不加parseFloat();也是可以運行的,就是加法運算答案是錯的
2016-09-08
1麻煩把中文雙引號改成英文的單引號或者英文的雙引號
2直接用加號會變成字符串拼接麻煩改成
case "+":sum=parseFloat(a)+parseFloat(b);break;
2016-09-08
火眼金睛啊當真是,但是我加了引號還是不行呢,還有啥別的毛病嗎
2016-09-08
document.getElementById(fruit).value=sum;
你這一行的fruit沒加引號