2014-11-04 60 views
1

我的家庭作業有問題... 我不知道我的代碼有什麼問題.. 我的作業是創建一個簡單的學習數學級別選擇... 我使用下拉菜單選擇水平和算術運算... 現在我的問題是,當我點擊按鈕,然後它將去功能啓動()然後保存水平和操作已被選入2變量是levelselect和operationselect ...現在我測試它用於提醒(levelselect); ...假設它會顯示我選擇的級別的警報窗口...但它不能工作... 感謝查看我的帖子,並願意幫助我...謝謝...> <JavaScript alert

<script language="javascript"> 
 
var levelselect; 
 
var operationselect; 
 
var num1; 
 
var num2; 
 

 

 
function start() 
 
{ 
 
       levelselect = form.element["form1"]["level"].value; 
 
       operationselect = form.element["form1"]["operation"].value; 
 
    
 
alert(levelselect); 
 
    
 
} 
 

 
</script>
<html> 
 
<head> 
 
<title>Untitled Document</title> 
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
 
</head> 
 

 

 
<body> 
 
<form id="form1" name="form1" method="post" action=""> 
 
<table align="center"> 
 
<tr align="center"><td><label>Choose your Level :</label> 
 
<select id="level" > 
 
<option value="1">1</option> 
 
<option value="2">2</option> 
 
<option value="3">3</option> 
 
<option value="4">4</option> 
 
</select> 
 
</td> 
 
</tr> 
 
<tr align="center"><br><br><br><td><label>Choose your arithmetic operations :</label> 
 
<select id="operation" > 
 
<option value="add">Addition</option> 
 
<option value="sub">Subtraction</option> 
 
<option value="div">Division</option> 
 
<option value="mul">Multiplication</option> 
 
</select> 
 
</td> 
 
</tr> 
 
    
 
<tr> 
 
<td align="center"><input type="button" onclick="start()" value="Generate question"/></td> 
 
</tr> 
 
    
 

 
    
 
</table> 
 
</form> 
 
    
 
</body> 
 
</html>

+3

查看您的瀏覽器的JavaScript控制檯。看看你得到的錯誤消息。 – Quentin 2014-11-04 07:30:30

回答

0

,如果你想使用的形式作爲一個javascript變量,你應該改變輸入類型和刪除函數調用:

<input type="submit" value="Generate question" /> 

然後改變:

<form id="form1" name="form1" method="post" action="" onsubmit="start(this);return false;"> 

這樣的功能將在輸入點擊調用,但是,我們通過這個如此:

function start(myForm) { 
    levelselect = myForm["level"]value; 
    operationselect = myForm["operation"]value; 

    alert(levelselect); 

} 

在功能「開始」,我們有一個變量:myForm的,可以是用於選擇兩個選擇值

http://jsfiddle.net/L64d5nLe/1/

0

從您的演示刪除腳本標籤,並獲取元素使用的ID解決您的問題

var levelselect; 
 
var operationselect; 
 
var num1; 
 
var num2; 
 

 
function start() 
 
{ 
 
    levelselect = document.getElementById("level").value; 
 
    operationselect = document.getElementById("operation").value; 
 
    alert(levelselect); 
 
    alert(operationselect) 
 
}
<html> 
 
<head> 
 
<title>Untitled Document</title> 
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
 
</head> 
 

 

 
<body> 
 
<form id="form1" name="form1" method="post" action=""> 
 
<table align="center"> 
 
<tr align="center"><td><label>Choose your Level :</label> 
 
<select id="level" > 
 
<option value="1">1</option> 
 
<option value="2">2</option> 
 
<option value="3">3</option> 
 
<option value="4">4</option> 
 
</select> 
 
</td> 
 
</tr> 
 
<tr align="center"><br><br><br><td><label>Choose your arithmetic operations :</label> 
 
<select id="operation" > 
 
<option value="add">Addition</option> 
 
<option value="sub">Subtraction</option> 
 
<option value="div">Division</option> 
 
<option value="mul">Multiplication</option> 
 
</select> 
 
</td> 
 
</tr> 
 
    
 
<tr> 
 
<td align="center"><input type="button" onclick="start()" value="Generate question"/></td> 
 
</tr> 
 
    
 

 
    
 
</table> 
 
</form> 
 
    
 
</body> 
 
</html>

0

您可以訪問表單元素這樣的。

levelselect = document.forms["form1"]["level"].value 
0

檢查這一點,你可以使用ID一樣得到選擇值:

document.getElementById("operation").value; 

這將返回給你選擇的值。你不需要使用表單名來檢查它。 我還將type =按鈕更改爲按鈕標籤。

var levelselect; 
 
var operationselect; 
 

 

 

 
function start() 
 
{ 
 
       levelselect = document.getElementById("level").value; 
 
       operationselect = document.getElementById("operation").value; 
 
    
 
       alert(levelselect+" ## "+operationselect); 
 
    
 
}
<html> 
 
<head> 
 
<title>Untitled Document</title> 
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
 
</head> 
 

 

 
<body> 
 
<form id="form1" name="form1" method="post" action=""> 
 
<table align="center"> 
 
<tr align="center"><td><label>Choose your Level :</label> 
 
<select id="level" > 
 
<option value="1">1</option> 
 
<option value="2">2</option> 
 
</select> 
 
</td> 
 
</tr> 
 
<tr align="center"><br><br><br><td><label>Choose your arithmetic operations :</label> 
 
<select id="operation" > 
 
<option value="add">Addition</option> 
 
<option value="sub">Subtraction</option> 
 
</select> 
 
</td> 
 
</tr> 
 
<tr> 
 
<td align="center"><button onclick="start()" >Generate question</button></td> 
 
</tr> 
 
</table> 
 
</form> 
 
</body> 
 
</html>

0

請在您啓動功能,這些變化

  levelselect = document.getElementById('level').value; 
      operationselect = document.getElementById('operation').value; 
0

我從來沒有見過這種form.element任何地方。

您應該使用文檔。的getElementById(ID)取頁面的元素來獲取值:

function start() 
{  
    var a = document.getElementById('level'); 
    var strLevel = a.options[a.selectedIndex].value; 

    var b = document.getElementById('level'); 
    var strOperation = b.options[b.selectedIndex].value; 

    alert(strLevel); 
} 

基本上你:

  • 選擇 「選擇」 與它的 「身份證」
  • 的幫助你尋找到所選擇的一個
  • 的選項你得到的選擇一個

的價值我做了的jsfiddle爲您編寫腳本:

http://jsfiddle.net/0x4ex8tk/6/