如何使用单选和复选框按钮验证javascript验证
How to validate a javascript validation with radio and checkbox button?
在一个网店上,我需要检查用户是否检查了这个支付选择,以及他是否检查了CGU规则。
所以这是我的html:
<div id="choixPaiement">
<div class="choixDuReglement">
<ul>
<li><input type="radio" name="buttonModePaiement" value="tata"></li>
<li><input type="radio" name="buttonModePaiement" value="toto"></li>
<li><input type="radio" name="buttonModePaiement" value="titi"></li>
<li><input type="radio" name="buttonModePaiement" value="tutu"></li>
</ul>
</div>
<div id="accepte_cgv">
<p> <input type="checkbox" name="check_cgv" id="check_cgv"><label>Lu et approuvé</label></p>
<p><a onclick="validCommande();" class="btnValidCommande" href="javascript:;"><span>Valid my order</span></a></p>
</div>
</div>
这是我的javascript:
function validCommande(){
var paiement = $("input[@name=buttonModePaiement]:checked").val();
alert(paiement);
if(paiement == "undefined"){
alert('please choose payment method');
}
alert($('#check_cgv').is(':checked'));
}
当单选按钮和复选框没有被选中时,我得到两个警告消息:"undefined"answers"false"(所以这是正确的)。
但是当我选中复选框而没有单选按钮时,我得到的是:"on"answers"true"。
为什么?
我想这就是你想要的
function validCommande() {
var paiement = $("input[name='buttonModePaiement']:checked");
if(paiement.length === 0)
alert('please choose payment method');
else
alert(paiement.val());
alert($('#check_cgv').is(':checked'));
}
同时,你没有关闭你的输入标签:
<input type="radio" name="buttonModePaiement" value="tata" />
我会对你的代码做些什么,以及为什么:
<div id="choixPaiement">
<div class="choixDuReglement">
<ul>
<li><input type="radio" class="buttonModePaiement" value="tata"></li>
<li><input type="radio" class="buttonModePaiement" value="toto"></li>
<li><input type="radio" class="buttonModePaiement" value="titi"></li>
<li><input type="radio" class="buttonModePaiement" value="tutu"></li>
</ul>
</div>
<div id="accepte_cgv">
<p> <input type="checkbox" name="check_cgv" id="check_cgv"><label>Lu et approuvé</label></p>
<p><a id="btnValidCommande" href="#"><span>Valid my order</span></a></p>
</div>
</div>
$(document).ready(function(){
$('#btnValidCommande').click(function(e){
e.preventDefault(); // stop the link from trying to navigate
validCommande();
});
});
function validCommande() {
var paiement = $(".buttonModePaiement:checked").val();
if (!paiement) {
alert('please choose payment method');
}
alert($('#check_cgv').is(':checked'));
}
在重复标识符时使用类,而不是名称。对于表单提交之类的事情,名称应该是唯一的。
name="buttonModePaiement"
应为class="buttonModePaiement"
在JS代码中追加你的事件,而不是内联。注意,我从你的链接中删除了
onclick="validCommande();"
,并将其附加在DOM ready事件中。你不需要(也不应该)与"undefined"进行比较。
(paiement == "undefined")
->(!paiement)
工作小提琴:http://jsfiddle.net/hMdKT/3/
如果要验证单选按钮,则按以下方式执行
<form name="as" method="post" action="n.php">
<input type="radio" id="x1" name="red">
<input type="radio" id="x2" name="red">
<input type="radio" id="x3" name="red">
<input type="radio" id="x4" name="red">
<input type="submit" value="button" onclick="return xyz()">
</form>
function xyz()
{
var x = document.getElementsByName("red");
for (var i=0; i<x.length; i++)
{
if (x[i].checked) {
return true;
}
}
// No radio button checked, return false.
alert("hello");
return false;
}
相关文章:
- 带有验证和隐藏字段值的提交按钮
- 客户端单选按钮列表验证
- 如果ng单击附加到提交按钮,则表单未验证
- 单选按钮的验证(启用)&使用Jquery Optimization从复选框中选择submit按钮
- 验证动态单选按钮jQuery
- 表单值未在单击按钮时发布,显示验证错误
- 如果使用jQuery验证器插件找到单选按钮,则将不同的addMethod应用于字段
- 如何在进行验证后重新启用提交按钮
- 我想在提交最终的 sibmit 按钮 saveBank() 之前验证上传按钮
- 使用 Jquery 使取消按钮绕过自定义验证
- 如何在窗体中使用多个按钮解决验证问题
- 如何在单击“提交”按钮后保留经典 ASP 页(发生验证错误时)
- ASP.NET ListView选项卡事件触发验证按钮
- 使用validationEngine引导程序单击“验证”按钮
- 点击jquery表单验证按钮,然后在javascript上发送数据
- 如何触发位置绝对验证引擎功能来验证按钮单击上的字段
- 为什么这个JQuery点击功能不工作?(验证按钮)
- 点击聚合物v1.0输入验证按钮
- “在提交时验证”按钮出现问题
- 客户端Jquery验证按钮在asp.net中单击