這樣為什么不行呢 var fruited=parseInt(document.getElementById('fruit').value);
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count()
? ?{ ??
? ? var num1=parseInt(document.getElementById('txt1').value);//獲取第一個輸入框的值
?var num2=parseInt(document.getElementById('txt2').value);//獲取第二個輸入框的值?
?var counting=document.getElementById('select').value;//獲取選擇框的值
?var fruited=parseInt(document.getElementById('fruit').value);
? ? switch(counting)//獲取通過下拉框來選擇的值來改變加減乘除的運算法則
? ? {
? ? ? case "+":
? ? ? ? fruited=num1+num2;
? ? ? case "-";
? ? ? ? fruited=mum1-num2;
? ? ? case "*";
? ? ? ? fruited=mum1*num2;
? ? ? case "/";
? ? ? ? fruited=mum1/num2;?
? ? }
? ? //設置結果輸入框的值?
? ??
? ?}
? </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()" /> <!--通過 = 按鈕來調(diào)用創(chuàng)建的函數(shù),得到結果-->?
? ?<input type='text' id='fruit' onfocus="count()" /> ??
?</body>
</html>
2016-03-24
問題一 :
??switch(counting){
? ? ? case "+":
? ? ? ? fruited=num1+num2;
? ? ? case "-";
? ? ? ? fruited=mum1-num2;
? ? ? case "*";
? ? ? ? fruited=mum1*num2;
? ? ? case "/";
? ? ? ? fruited=mum1/num2;?
? ?}
上面一段代碼中你存在3個錯誤:
? ?(1)case后面為“:”,你后面三個寫的都是“;”。
? ?(2)case后面都需要加break;不然代碼會按照順序全部執(zhí)行一遍。這樣switch就沒有意義了。
? ?(3)num1你后面三個都寫成了mum1;注意n和m。
以上三個錯誤都算是粗心。下次認真點就好了~
問題二:為什么結果框里數(shù)字沒有變化?
var fruited=parseInt(document.getElementById('fruit').value);
你要改變fruit的屬性值value,需要獲得的是fruit這個對象,然后再對他的value進行附值。大致如下:
var fruited=document.getElementById('fruit');
switch(counting){
? ? ? case "+":
? ? ? ?fruited.value=num1+num2;
? ? ? ?break;
? ? ? .........
? ?}
2016-03-25
回復 嚕啦咧:
我們分析一下整個運算過程:
(1)獲取txt1和txt2輸入框的值。進行運算。
(2)給fruit輸入框附值。
看的出來,對txt1和fruit兩個輸入框的操作是不一樣的。一個獲取值,一個附值。
(1)獲取值代碼 var x=object.value,也就是num1這樣。
? ? var num1=parseInt(document.getElementById('txt1').value);
(2)附值代碼 object.value=y,所以要先獲得fruit這個對象,然后再對它的value附值。也就是fruited這樣。
? ? ?var fruited=document.getElementById('fruit'); ?fruited.value=result;
? ?注意:var z=object.value;
? ? ? ? ? ? ? ? z=y;
? ?這樣只是z被再次附值,跟object.value并沒有關系。這里跟數(shù)學里的連等是不一樣的。所以object.value ≠y;
?這樣說清楚嗎???
2016-03-25
object.value:獲取對象的值
你現(xiàn)在的步驟:
1、需要先獲取到對象,var fruited =?document.getElementById('fruit');
2、計算完以后再對對象的value屬性進行賦值。fruited .value = XX;
document.getElementById('fruit').value:只是獲取到對象的值,空的話獲取到的是undefind。
或者你可以再最后面寫:
document.getElementById('fruit').value = XX;
其他錯誤樓上已指正!