Javascript 多个单选按钮验证
我正在创建一个web表单,其中包含一个包含单选按钮的表格,供用户选择。我已经按ID对行进行了分组,希望页面不允许用户继续,除非每行都有有效的选择。我在这方面遇到了麻烦,因为只要有一组有选择,并且没有评估所有的组,表单就会发布。出于测试目的,我已经包含了两个组,但我的Web表单实际上包含更多。我对C#和JavaScript非常陌生,但我知道我有一个问题,这两种语言都在使用isChecked,但我确信这不是唯一的问题。我用这个作为指导 这是我的密码Javascript 多个单选按钮验证,javascript,c#,radio-button,Javascript,C#,Radio Button,我正在创建一个web表单,其中包含一个包含单选按钮的表格,供用户选择。我已经按ID对行进行了分组,希望页面不允许用户继续,除非每行都有有效的选择。我在这方面遇到了麻烦,因为只要有一组有选择,并且没有评估所有的组,表单就会发布。出于测试目的,我已经包含了两个组,但我的Web表单实际上包含更多。我对C#和JavaScript非常陌生,但我知道我有一个问题,这两种语言都在使用isChecked,但我确信这不是唯一的问题。我用这个作为指导 这是我的密码 <script type="text/ja
<script type="text/javascript">
function isChecked() {
var checkedITEx = document.getElementById('IT-Ex').checked;
var checkedITVG = document.getElementById('IT-VG').checked;
var checkedITGd = document.getElementById('IT-Gd').checked;
var checkedITAve = document.getElementById('IT-Ave').checked;
var checkedITPoor = document.getElementById('IT-Poor').checked;
if (checkedITEx == false && checkedITVG == false && checkedITGd == false && checkedITAve == false && checkedITPoor == false) {
alert('You need to select a rating for Independent Thinking');
return false;
}
else {
return true;
}
}
function isChecked() {
var checkedResEx = document.getElementById('Res-Ex').checked;
var checkedResVG = document.getElementById('Res-VG').checked;
var checkedResGd = document.getElementById('Res-Gd').checked;
var checkedResAve = document.getElementById('Res-Ave').checked;
var checkedResPoor = document.getElementById('Res-Poor').checked;
if (checkedResEx == false && checkedResVG == false && checkedResGd == false && checkedResAve == false && checkedResPoor == false) {
alert('You need to select a rating for Resiliance');
return false;
}
else {
return true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server" action="Default.aspx" method="get" onsubmit="return isChecked();">
<table>
<tr>
<td class="auto-style1"></td>
<td class="auto-style2">Excellent</td>
<td class="auto-style2">Very Good</td>
<td class="auto-style2">Good</td>
<td class="auto-style2">Average</td>
<td class="auto-style2">Poor</td>
</tr>
<tr>
<td class="auto-style1">Independent Thinking</td>
<td class="auto-style2"><input type="radio" name="IndThink" value ="Independent Thinking - Excellent" id="IT-Ex"/></td>
<td class="auto-style2"><input type="radio" name="IndThink" value ="Independent Thinking - Very Good" id="IT-VG"/></td>
<td class="auto-style2"><input type="radio" name="IndThink" value ="Independent Thinking - Good" id="IT-Gd"/></td>
<td class="auto-style2"><input type="radio" name="IndThink" value ="Independent Thinking - Average" id="IT-Ave"/></td>
<td class="auto-style2"><input type="radio" name="IndThink" value ="Independent Thinking - Poor" id="IT-Poor"/></td>
</tr>
<tr>
<td class="auto-style1">Resiliance</td>
<td class="auto-style2"><input type="radio" name="Res" value ="Resiliance - Excellent" id="Res-Ex"/></td>
<td class="auto-style2"><input type="radio" name="Res" value ="Resiliance - Very Good" id="Res-VG"/></td>
<td class="auto-style2"><input type="radio" name="Res" value ="Resiliance - Good" id="Res-Gd"/></td>
<td class="auto-style2"><input type="radio" name="Res" value ="Resiliance - Average" id="Res-Ave"/></td>
<td class="auto-style2"><input type="radio" name="Res" value ="Resiliance - Poor" id="Res-Poor"/></td>
</tr>
</table>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
函数isChecked(){
var checkedITEx=document.getElementById('IT-Ex')。选中;
var checkedITVG=document.getElementById('IT-VG')。选中;
var checkedITGd=document.getElementById('IT-Gd')。选中;
var checkedITAve=document.getElementById('IT-Ave')。选中;
var checkedITPoor=document.getElementById('IT-Poor')。选中;
如果(checkedITEx==false&&checkedITVG==false&&checkedITGd==false&&checkedITAve==false&&checkedITPoor==false){
警惕(“你需要为独立思考选择评级”);
返回false;
}
否则{
返回true;
}
}
函数isChecked(){
var checkedResEx=document.getElementById('Res-Ex')。选中;
var checkedResVG=document.getElementById('Res-VG')。选中;
var checkedResGd=document.getElementById('Res-Gd')。选中;
var checkedResAve=document.getElementById('Res-Ave')。选中;
var checkedResPoor=document.getElementById('Res-Poor')。选中;
如果(checkedResEx==false&&checkedResVG==false&&checkedResGd==false&&checkedResAve==false&&checkedResPoor==false){
警报(“您需要为韧性选择评级”);
返回false;
}
否则{
返回true;
}
}
杰出的
很好
好
平均值
贫穷的
独立思考
抵抗力
如果至少选中其中一个复选框,则返回true。我已设法使其配合。以下是我最终使用的代码:
<script type="text/javascript">
function isChecked()
{
var checkedITEx = document.getElementById('IT-Ex').checked;
var checkedITVG = document.getElementById('IT-VG').checked;
var checkedITGd = document.getElementById('IT-Gd').checked;
var checkedITAve = document.getElementById('IT-Ave').checked;
var checkedITPoor = document.getElementById('IT-Poor').checked;
if (checkedITEx == false && checkedITVG == false && checkedITGd == false && checkedITAve == false && checkedITPoor == false)
{
alert('You need to select a rating for Independent Thinking');
return false;
}
else
{
var checkedResEx = document.getElementById('Res-Ex').checked;
var checkedResVG = document.getElementById('Res-VG').checked;
var checkedResGd = document.getElementById('Res-Gd').checked;
var checkedResAve = document.getElementById('Res-Ave').checked;
var checkedResPoor = document.getElementById('Res-Poor').checked;
if (checkedResEx == false && checkedResVG == false && checkedResGd == false && checkedResAve == false && checkedResPoor == false)
{
alert('You need to select a rating for Resiliance');
return false;
}
else
{
return true;
}
}
}
函数isChecked()
{
var checkedITEx=document.getElementById('IT-Ex')。选中;
var checkedITVG=document.getElementById('IT-VG')。选中;
var checkedITGd=document.getElementById('IT-Gd')。选中;
var checkedITAve=document.getElementById('IT-Ave')。选中;
var checkedITPoor=document.getElementById('IT-Poor')。选中;
如果(checkedITEx==false&&checkedITVG==false&&checkedITGd==false&&checkedITAve==false&&checkedITPoor==false)
{
警惕(“你需要为独立思考选择评级”);
返回false;
}
其他的
{
var checkedResEx=document.getElementById('Res-Ex')。选中;
var checkedResVG=document.getElementById('Res-VG')。选中;
var checkedResGd=document.getElementById('Res-Gd')。选中;
var checkedResAve=document.getElementById('Res-Ave')。选中;
var checkedResPoor=document.getElementById('Res-Poor')。选中;
如果(checkedResEx==false&&checkedResVG==false&&checkedResGd==false&&checkedResAve==false&&checkedResPoor==false)
{
警报(“您需要为韧性选择评级”);
返回false;
}
其他的
{
返回true;
}
}
}
它们是单选按钮,而不是复选框,因此它们永远无法全部选中。每行一次只能选中一个单选按钮,但我需要表单验证每行至少选择了一个选项。谢谢,但这仍然不能满足我的要求。如何让它检查每个组中至少一个正在检查的选项。因此,独立思考必须有选择,弹性必须有选择等等。在所有组至少选择一个类别之前,表单无法提交。请为这两个函数指定不同的名称,如
independentThinkingChecked()
和resilienceChecked()
,并使用第三个函数检查这两个函数:函数areBothChecked(){return independentThinkingChecked()&&resilienceChecked()}
只有当这两个函数都返回true时,上述函数才会返回true(每个函数都选中了复选框)。这有意义吗?这种方法也不起作用。我已经注意到它是提交没有任何检查,所以有一些相当错误。
<script type="text/javascript">
function isChecked()
{
var checkedITEx = document.getElementById('IT-Ex').checked;
var checkedITVG = document.getElementById('IT-VG').checked;
var checkedITGd = document.getElementById('IT-Gd').checked;
var checkedITAve = document.getElementById('IT-Ave').checked;
var checkedITPoor = document.getElementById('IT-Poor').checked;
if (checkedITEx == false && checkedITVG == false && checkedITGd == false && checkedITAve == false && checkedITPoor == false)
{
alert('You need to select a rating for Independent Thinking');
return false;
}
else
{
var checkedResEx = document.getElementById('Res-Ex').checked;
var checkedResVG = document.getElementById('Res-VG').checked;
var checkedResGd = document.getElementById('Res-Gd').checked;
var checkedResAve = document.getElementById('Res-Ave').checked;
var checkedResPoor = document.getElementById('Res-Poor').checked;
if (checkedResEx == false && checkedResVG == false && checkedResGd == false && checkedResAve == false && checkedResPoor == false)
{
alert('You need to select a rating for Resiliance');
return false;
}
else
{
return true;
}
}
}