验证javascript中的单选按钮 函数验证() { var payment=checkRadio(); 如果(付款==假) { 警报(“请选择一个按钮”) } } 函数checkRadio() { var payment=document.getElementsByName(“付款”); 对于(i=0;i

验证javascript中的单选按钮 函数验证() { var payment=checkRadio(); 如果(付款==假) { 警报(“请选择一个按钮”) } } 函数checkRadio() { var payment=document.getElementsByName(“付款”); 对于(i=0;i,javascript,html,arrays,radio-button,Javascript,Html,Arrays,Radio Button,下面的html代码创建单选按钮,供客户选择其中一种付款方式 function validate() { var payment = checkRadio(); if (payment == false) { alert("Please select one button") } } function checkRadio() { var payment = document.getElementsByName("payment"); for(i = 0; i

下面的html代码创建单选按钮,供客户选择其中一种付款方式

function validate()
{
   var payment = checkRadio();
   if (payment == false)
   {
      alert("Please select one button")
   }
}

function checkRadio()
{
var payment = document.getElementsByName("payment");
for(i = 0; i < payment.length; i++)
    {
        if(payment[i].checked)
        {
            return true;
        }
        else
        {
            return false;
        }
    }


}

支付选项: 信用卡 借记卡 贝宝


我的问题是,当我在chrome上执行这段代码并运行它时,什么都没有发生。如果有人能指出我错在哪里,我会非常感激。

你需要用


付款选择:
信用卡
借记卡
贝宝
在javascript中,将checkRadio更改为:

<form>
Payment Options:
<INPUT TYPE="Radio" Name="payment" Value="CC">Credit Card
<INPUT TYPE="Radio" Name="payment" Value="DC">Debit Card
<INPUT TYPE="Radio" Name="payment" Value="PP">PayPal 


<INPUT TYPE="button" VALUE="  SUBMIT  " onClick="validate()">  
</form>
功能检查收音机()
{
var payment=document.getElementsByName(“付款”);
var paymentType='';
对于(i=0;i

jsiddle:

在您的代码中,只检查第一个元素,因为您在第一次迭代中从函数返回

function checkRadio()
{
var payment = document.getElementsByName('payment');

var paymentType = '';

for(i = 0; i < payment.length; i++)
    {    
        if(payment[i].checked)
        {
            console.log(payment[i].value)
            paymentType = payment[i].value;            
        }
   }
   return paymentType != '' ? true : false;
}    
功能检查收音机()
{
var payment=document.getElementsByName(“付款”);
对于(i=0;i
您在哪里调用
validate()
函数?
函数调用很好,因为我有其他字段,我检查它是否已填充并且工作正常,只是检查导致windows出现问题的单选按钮。validate只是自动运行代码,无需单击任何内容,但在我的代码中,验证功能只在单击提交后执行,然后它会发出警报并说请选择一个按钮,但什么都没有发生。我刚刚编辑了答案并对其进行了测试。请看一看JSFIDLE。非常感谢它现在可以工作了,它是
console.log(payment[i].value)
部分
function checkRadio()
{
var payment = document.getElementsByName('payment');

var paymentType = '';

for(i = 0; i < payment.length; i++)
    {    
        if(payment[i].checked)
        {
            console.log(payment[i].value)
            paymentType = payment[i].value;            
        }
   }
   return paymentType != '' ? true : false;
}    
function checkRadio()
{
  var payment = document.getElementsByName("payment");
  for(i = 0; i < payment.length; i++)
    {
        if(payment[i].checked)
        {
            return true;
        }
    }

  return false;
}