javascript - 如何使用下一步按钮转到下一页,稍后通过提交按钮显示结果?
问题描述
因此,从这段代码中,我尝试让下一个按钮转到下一页,如果用户单击性别的答案是“男性”(反之亦然),该页面将显示男性部分。用户完成调查后,点击提交按钮后,只会输出主页面和男性页面的所有值。但我找不到正确的方法来做到这一点。
我在这里纠正了一些我不小心忽略的错误。但是,我仍然对下一个按钮没有转到相应的页面部分有问题。它只去男性部分,即使我也设置了去女性部分的条件。
//让我们关注男性部分...我稍后会做女性部分,谢谢!
这是主页 (mainsection.html)
<form id="form1">
<p>Gender</p>
<label><input type="radio" name="gender" id="male" value="Male">Male</label>
<label><input type="radio" name="gender" id="female" value="Female">Female</label>
<button id= "next" value="Next">Next</button>
</form>
<script type="text/javascript" src="script.js"></script>
这是男性部分页面 (malesection.html)
<form id="form1">
<p>Height</p>
<label><input type="radio" name="height" id="short" value="Short"><165cm</label>
<label><input type="radio" name="height" id="average" value="Average">165cm-175cm</label>
<label><input type="radio" name="height" id="tall" value="Tall">>175cm</label>
<p>Wrist Size</p>
<label><input type="radio" name="wrist" id="small" value="small"><15cm</label>
<label><input type="radio" name="wrist" id="medium" value="medium">15cm-15.6cm</label>
<label><input type="radio" name="wrist" id="large" value="large">>15.6cm</label>
<button type="submit" value="Submit">Submit</button>
<p id="ans"></p>
<p id="ans2"></p>
</form>
<script type="text/javascript" src="script.js"></script>
这是 JavaSript 代码 (script.js)
<script>
document.getElementById("form1").onsubmit=function() {
var x = document.getElementById("ans");
var y = document.getElementById("ans2");
var m = document.getElementById("male");
var f = document.getElementById("female");
var t = document.getElementById("teen");
var a = document.getElementById("adult");
var s = document.getElementById("senior");
var mHS = document.getElementById("short");
var mWS = document.getElementById("small");
//Next button condition
document.getElementById("next").onclick = function()
{
if(m.checked)
location.href = "malesection.html";
else if(f.checked)
location.href = "femalesection.html";
}
if(t.checked){x.innerHTML = "You are a Teen."}
else if(a.checked){x.innerHTML = "You are an Adult."}
else if(s.checked){x.innerHTML = "You are a Senior."}
if(m.checked){
if(mHS.checked){
if(mWS.checked)
{y.innerHTML = "You are a male with short height and small body
frame. Thus, you have an Ectomorph body type. Choose
clothes that neatly skim the body."}
}
}
return false;
}
</script>
解决方案
<script type="text/javascript">
document.getElementById("next").onclick = next() {
location.href = "malesection.html";
</script>
};
那是错的。您关闭“函数”,但在函数中具有脚本块的关闭标记。此外,这不是您声明函数的方式。
要定义事件句柄,请执行以下操作:
document.getElementById('next').onclick = function(e)
{
location.href = "malesection.html";
};
但是我希望这会失败,因为您没有正确设置按钮的 id,而且您已经在按钮的属性中设置了 onclick 处理程序,因此处理程序设置了两次。除了没有名为“next”的函数。
因此,将您的 HTML 更改为:
<button id="next">Next</button>
推荐阅读
- gradle - 在 PluginManager 中使用基本 Spock 规范和 JenkinsRule 时遇到问题
- javascript - 如何向 https 获取请求添加参数?
- python - 数据框 to_csv - 强制使用相同的分隔符
- git - 如何防止将git文件夹的子文件和文件夹复制到另一个文件夹中?
- python - AttributeError:“事件”对象没有属性“x_win”错误
- java - Java中的列表,列表中的存储列表
- c - 不显示项目名称
- android - 打开文件夹选择器以写入文件时,是否可以让用户在同一个选择器中命名新文件?
- sql - JOIN 中的 case 语句会降低查询的性能
- mysql - 从表创建 Medalist MySQL 视图