2014-11-04 67 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/