我如何在复选框上放置验证?
这是我的代码:
<script>
function Validate(){
var cntct = document.getElementById("contact").value;
if (cntct.value=="")
{
alert("Please select contact medium");
return false;
}
}
</script>
<input type="radio" name="contact" id="contact" value="SMS">
<label>SMS</label> <input type="radio" name="contact" id="contact" value="CALL">
<label>CALL</label> <input type="radio" name="contact" id="contact" value="EMAIL">
<label>EMAIL</label>
请帮助..
答案 0 :(得分:0)
简单: if(cntct ==“”) {
}
cntct变量是值!
答案 1 :(得分:0)
如果是复选框和单选按钮,则在“checked”属性为true时检查该元素:
function Validate(){
var selectedValue = "";
var cntct = document.getElementsByname("contact");
for(var i=0;i<cntct.length;i++) {
if (cntct[i].checked)
{
selectedValue = cntct.value;
}
}
if(selectedValue == "") {
alert("Please select contact medium");
return false;
}
return true;
}
<强>更新强>
我刚注意到你有多个具有相同ID的元素。这是不允许的,在这种情况下,浏览器将仅返回具有该ID的最后一个元素。您需要使用相同的name
迭代元素,并选择属性为checked
的元素。见上面的代码
答案 2 :(得分:0)
我如何在复选框上放置验证?
我认为你的意思是“如何确保在提交表单时检查其中一个单选按钮”(假设有一个表格没有显示)。
简单的方法是默认选中一个复选框,然后您就会知道将始终选中一个复选框,而您无需检查,例如
<input type="radio" name="contact" value="CALL" checked>
<input type="radio" name="contact" value="EMAIL">
另一种方法是在提交表单时(或者您决定进行验证的任何事件)循环显示单选按钮,并确保选中一个。例如
function checkButton() {
var nodes = document.getElementsByName('contact');
for (var i=0, iLen=nodes.length; i<iLen; i++) {
// If find a checked one, job's done
if (nodes[i].checked) return true;
}
// Otherwise, none were checked
return false;
}
有一个带有联系人姓名的输入类型文本,但它没有已检查的属性,因此将被视为未经检查的无线电。
答案 3 :(得分:0)
请试试这个:
<script>
function SubmitIt()
{
if (document.forms.myform.elements.contact.value == "")
{
alert("Please select contact medium...");
}
}
</script>
<form name="myform" id="myform">
<input type="radio" name="contact" id="contact" value="SMS">
<label>SMS</label> <input type="radio" name="contact" id="contact" value="CALL">
<label>CALL</label> <input type="radio" name="contact" id="contact" value="EMAIL">
<label>EMAIL</label>
<button onclick="SubmitIt();">Submit</button>
</form>