javascript - 选中复选框和“下一步”按钮后重定向到链接
问题描述
我需要在用户选择一个复选框后并且仅在单击“下一步”按钮后将用户重定向到一个页面(多个选项)。这是我的带有三个复选框的代码(抱歉,我还不能添加图片:
<form class="q2" action="">
<div class="form-group radios">
<label for="1">
<input type="radio" name="physio" id="1"><span class="checkmark"></span>
Mark
</label>
</div>
<div class="form-group radios">
<label for="2">
<input type="radio" name="physio" id="2"><span class="checkmark"></span>
John
</label>
</div>
<div class="form-group radios">
<label for="3">
<input type="radio" name="physio" id="3"><span class="checkmark"></span>
Jack
</label>
</div>
</form>
<a href="poids-ideal-chat.html">
<div class="button-icon next cta src">
<p>
Next
</p>
</div>
</a>
谢谢你帮助人们
解决方案
为此,您可以使用 javascript。理想的工艺流程应该是这样的:
- 听“下一步”按钮的点击。
- 单击时,检查单选元素是否已被选中。
- 如果有选中的元素,继续重定向。
- 如果不阻止重定向
我在 jsfiddle 中包含了一个演示,检查一下
<form class="q2" action="">
<div class="form-group radios">
<label for="1">
<input type="radio" name="physio" id="1" value="1">
<span class="checkmark"></span>
Mark
</label>
</div>
<div class="form-group radios">
<label for="2">
<input type="radio" name="physio" id="2" value="2">
<span class="checkmark"></span>
John
</label>
</div>
<div class="form-group radios">
<label for="3">
<input type="radio" name="physio" id="3" value="3">
<span class="checkmark"></span>
Jack
</label>
</div>
</form>
<a href="poids-ideal-chat.html" id="nextClick">
<div class="button-icon next cta src">
<p>
Next
</p>
</div>
</a>
<script>
document.getElementById('nextClick').addEventListener('click', function(event) {
// Get all the radio 'physio' elements
var radios = document.getElementsByName('physio');
// Loop through each element
for (var i = 0, length = radios.length; i < length; i++) {
// Check if the current element is selected
if (radios[i].checked) {
var selected_value = radios[i].value; // Value of checked element
// Exit event handler and redirect the page if a radio element is selected
return;
}
}
// If no item was selected prevent the page redirect
event.preventDefault();
});
</script>
推荐阅读
- linux - What is wrong with these cronjobs?
- visual-studio - Masm Visual Studio 2019。取用户名并转换为大写
- python-3.x - Pytest Cov 报告缺少模拟异常返回
- javascript - 使用 createAsyncThunk 成功执行异步操作后重定向
- html - 如何在不出现滚动条的情况下将容器垂直居中在导航栏下方?
- django - 如何将当前模型的数据用于当前模型:)
- reactjs - React js 中的事件处理
- android-studio - 无需编程的底条形状
- c# - SolidWorks PDM 插件访问文件
- css - ReactJS 7 - 如何根据其值有条件地仅更改表格单元格(而不是行)的背景颜色?