課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么我改為了和參考答案一樣的,還是不能正常運行?請同學們指正,謝謝!
2016-11-29
源自:JavaScript進階篇 6-11
正在回答
<script?type="text/javascript"> ???function?count(){ ?????var?text1?=?parseInt(?document.getElementById("txt1").value?);??//獲取第一個輸入框的值???? ?????var?text2?=?parseInt(?document.getElementById("txt2").value?);???//獲取第二個輸入框的值?? ?????var?select?=?document.getElementById("select").value; ?????//獲取選擇框的值 ?????var?result; ??????switch(select) ??????{ ?????????case?'+': ????????????result?=?text1+text2; ????????????break; ?????????case?'-': ????????????result?=?text1-text2; ????????????break; ?????????case?'*': ????????????result?=?text1*text2; ????????????break; ?????????case?'/': ????????????result?=?text1/text2; ????????????break; ??????}?//獲取通過下拉框來選擇的值來改變加減乘除的運算法則 ??????document.getElementById("fruit").value?=?result; ??????????//設置結果輸入框的值? ???}?? }
慕粉4340077 提問者
錦葉虛蘭 回復 慕粉4340077 提問者
以上都不對,你的代碼里有三個錯誤:
1、parseInt() 寫錯了
2、題目有問題,所有input應該用<form></form>標簽包起來,否則無法傳回值的。
3、js里多寫了一個大括號
看我的完整代碼,已驗證通過:
<!DOCTYPE html><html>?<head>?<title> 事件</title>? <script type="text/javascript">function count(){??? var text1=parseInt(document.getElementById("txt1").value);//獲取第一個輸入框的值??? var text2=parseInt(document.getElementById("txt2").value);//獲取第二個輸入框的值??? var select=document.getElementById("select").value;??? //獲取選擇框的值??? var result;??? switch(select)??? {??????? case '+':??????? result=text1+text2;??????? break;??????? case '-':??????? result=text1-text2;??????? break;??????? case '*':??????? result=text1*text2;??????? break;??????? case '/':??????? result=text1/text2;??????? break;??? }//獲取通過下拉框來選擇的值來改變加減乘除的運算法則??? document.getElementById("fruit").value=result;??? //設置結果輸入框的值}</script> ?</head> ?<body>?<form>??? <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' />?? ?</form>???? ?</body></html>
你直接刪掉第29行的括號就可以了
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count()
? ?{
? ? var text1=parseInt(document.getElementById("txt1").value);
? ? var text2=parseInt(document.getElementById("txt2").value);
? ? var select=document.getElementById("select").value;
? ? var result;
? ? switch(select)
? ? {
? ? ? ? case '+': result=text1+text2;break;
? ? ? ? case '-': result=text1-text2;break;
? ? ? ? case '*': result=text1*text2;break;
? ? ? ? case '/': result=text1/text2;break;
? ? }
? ? ? document.getElementById("fruit").value=result;
? ?} ?
? </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>
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
4 回答javaScript進階篇4-10編程練習
4 回答javascript進階篇 4-10 編程練習
2 回答Javascript進階篇6-11的編程練習
2 回答JavaScript進階篇7-23編程練習
6 回答JavaScript進階篇 1-2編程練習
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-30
2016-11-30
以上都不對,你的代碼里有三個錯誤:
1、parseInt() 寫錯了
2、題目有問題,所有input應該用<form></form>標簽包起來,否則無法傳回值的。
3、js里多寫了一個大括號
看我的完整代碼,已驗證通過:
<!DOCTYPE html>
<html>
?<head>
?<title> 事件</title>?
<script type="text/javascript">
function count()
{
??? var text1=parseInt(document.getElementById("txt1").value);//獲取第一個輸入框的值
??? var text2=parseInt(document.getElementById("txt2").value);//獲取第二個輸入框的值
??? var select=document.getElementById("select").value;
??? //獲取選擇框的值
??? var result;
??? switch(select)
??? {
??????? case '+':
??????? result=text1+text2;
??????? break;
??????? case '-':
??????? result=text1-text2;
??????? break;
??????? case '*':
??????? result=text1*text2;
??????? break;
??????? case '/':
??????? result=text1/text2;
??????? break;
??? }//獲取通過下拉框來選擇的值來改變加減乘除的運算法則
??? document.getElementById("fruit").value=result;
??? //設置結果輸入框的值
}
</script>
?</head>
?<body>
?<form>
??? <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' />??
?</form>????
?</body>
</html>
2016-11-30
你直接刪掉第29行的括號就可以了
2016-11-30
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count()
? ?{
? ? var text1=parseInt(document.getElementById("txt1").value);
? ? var text2=parseInt(document.getElementById("txt2").value);
? ? var select=document.getElementById("select").value;
? ? var result;
? ? switch(select)
? ? {
? ? ? ? case '+': result=text1+text2;break;
? ? ? ? case '-': result=text1-text2;break;
? ? ? ? case '*': result=text1*text2;break;
? ? ? ? case '/': result=text1/text2;break;
? ? }
? ? ? document.getElementById("fruit").value=result;
? ?} ?
? </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>