我的页面上有 4 个下拉列表。我试图输出一条消息,然后单击提交按钮打开一个新页面。这是基于每个下拉列表的单个值为真的条件。每个检查表的所有选项均为真。例如 50p=true,在下一个框中 £2 等于 true,对于每个列表依此类推。
这是其中一个框的示例。其他 3 个框具有完全相同的名称,但只有不同的 true 和 false 值
<input name="button" type="submit" class="main" id="button" value="Submit" onclick="submit()" />
<select name="select_box" size="1" class="main" id="select_box">
<option value="true">50p</option>
<option value="false">1p</option>
<option value="false" selected="selected">20p</option>
<option value="false">£2</option>
</select>
这是我尝试分配变量的地方。我的逻辑是,如果我可以通过获取下拉列表的 id 将变量分配给下拉列表的名称,我可以应用一个 if 语句,该语句将根据 onclick 函数为我提供所需的结果,因为选择框中有 true 和 false 值?当我运行此代码时,Javascript 似乎只确认并调用警报框,而不管选项如何,就好像那里没有其他代码一样。
var a=document.getElementById("select_box");
var b=document.getElementById("select_box2");
var c=document.getElementById("select_box3");
var d=document.getElementById("select_box4");
object.onclick=submit
if (a=true,b=true,c=true,d=true)
{
alert("Correct you have won press OK for your Reward!")
document.open("Reward.html");
}
else
{
alert("Not right Please try again!");
}
另外,我如何应用上述提交按钮来处理这些语句
对于代码前半部分顶部的糟糕编辑,我深表歉意,我不太确定如何编辑它,以便显示其余的单词
最佳答案
在您的代码中,当您确实希望它保存选择元素的当前值时,a
正在保存实际的选择元素。所以改变一下
var a = document.getElementById("select_box");
对此:
var a = document.getElementById("select_box").value;
这会将 a
指定为相关下拉列表的值。只要确保你修正了你的比较:
if (a=true
应该是
if (a === 'true'
<小时/>
另请注意,将下拉列表的值设置为 true 或 false
<option value="true">50p</option>
<option value="false">1p</option>
<option value="false" selected="selected">20p</option>
<option value="false">£2</option>
将使您的服务器端代码难以处理用户实际选择的内容,因为该表单输入的唯一值将是 true 或 false,如果 false,您将没有知道实际上选择了这三个错误值中的哪一个的方法。
关于javascript - 单击按钮并根据检查 b 中的设置值输出消息并打开新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523754/