Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript验证无线电输入不工作_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript验证无线电输入不工作

Javascript验证无线电输入不工作,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我正在使用下面的Javascript代码来验证在提交表单之前是否至少检查了一个无线电输入,但是我面临一个问题,因为表单总是提交,即使没有检查无线电输入……有人能告诉我这里缺少什么以及如何修复它吗?谢谢 <script type="text/javascript"> function processPayment() { if ($("input[name='orderAmount']:checked").length > 0){ alert('OK'

我正在使用下面的Javascript代码来验证在提交表单之前是否至少检查了一个无线电输入,但是我面临一个问题,因为表单总是提交,即使没有检查无线电输入……有人能告诉我这里缺少什么以及如何修复它吗?谢谢

<script type="text/javascript">

 function processPayment() {
    if ($("input[name='orderAmount']:checked").length > 0){
        alert('OK');
        document.getElementById('orderFrm').submit(); 
        return false;
    }
    else{
        alert('Please select order amount');
    }       
 }

 </script> 


<div id="content">
  <form id="orderFrm" name="orderFrm" action="https://...." method="post" target="_top">
       ....

       <div class="orderamnt">
        <label for="orderAmount50">
          <span class="labelText">50</span>
          <input type="radio" id="orderAmount50" name="orderAmount" value="50"/>
        </label>
       </div>
       <div class="orderamnt">
        <label for="orderAmount100">
          <span class="labelText">100</span>
          <input type="radio" id="orderAmount100" name="orderAmount" value="100"/>
        </label>
       </div>
       <div class="orderamnt">
        <label for="orderAmount200">
          <span class="labelText">200</span>
          <input type="radio" id="orderAmount200" name="orderAmount" value="200"/>
        </label>
       </div>

       <a class="buyNowButton" href="javascript:{}" onclick="processPayment()">Order</a>
       ....
   </form>
</div>
注:

我在检查任何单选按钮时注意到它从以下位置更改:

  <div id="orderamnt">
    <span class="">
      <input type="radio" id="orderAmount200" name="orderAmount" value="200"/>


很明显,单选输入没有被检查,这就是为什么我这边的单选输入显然不起作用,所以我想知道有没有办法通过单选按钮验证第一个父跨度?

您需要使用


使用jQuery1.6.4或+,此代码可以正常工作

$('.buyNowButton').click(function(){   
    if ($("input[name='orderAmount']:checked").length > 0){   
        document.getElementById('orderFrm').submit(); 
        return false;
    }
    else{
        alert('Please select order amount');
    }       
 });

未选择任何内容时不为我提交。另外,在提交表单后返回false也没有意义。您正在运行哪个版本的jQuery?我似乎还记得我在以下方面遇到过问题:几年前检查过,现在无法使用最新的jQuery进行复制。@75thTrombone我在我的问题中添加了一个小编辑,解释了我在使用Chrome开发工具检查/取消选中无线电输入时是如何发现html发生变化的。我在我的问题中添加了一个小编辑,解释了我在检查/取消选中无线电输入时是如何发现html发生变化的使用Chrome dev工具检查/取消选中无线电输入此选项应有效,请参阅:
if ($('input[name="orderAmount"]').is(':checked'))
{
}
$('.buyNowButton').click(function(){   
    if ($("input[name='orderAmount']:checked").length > 0){   
        document.getElementById('orderFrm').submit(); 
        return false;
    }
    else{
        alert('Please select order amount');
    }       
 });