我使用javascript验证单选按钮。
HTML-
<form name="formreg" enctype="multipart/form-data" method="post">
<input type="radio" value="male" name="gender" /> Male<br />
<input type="radio" value="female" name="gender" /> Female<br />
<input value="Submit" onclick="return inputval()" type="submit" />
</form>
JS-
<script type="text/javascript">
function inputval() {
var $XIForm = $('form[name=XIForm]');
if ($("form[name='formre'] input[type='radio']:checked").length != 1) {
alert("Select at least male or female.");
return false;
}
else {
var gender = $("input").val();
//alert(gender);
$XIForm.submit();
alert(gender);
}
}
</script>
任何人都可以帮忙解决这个问题。
答案 0 :(得分:6)
这是代码。您必须创建一个表单并在提交时进行验证。
HTML: -
<form name="myForm" action="targetpage.asp" onsubmit="return validateForm();" method="post">
<label>Gender</label>  
<input type='radio' name='XIGender' value='Male' id="XImale" />Male
<input type='radio' name='XIGender' value='Female' id="XIfemale" />Female</td>
<input type="submit" value="submit" id="XISubmit" />
</form>
JS: -
function validateForm() {
if (validateRadio(document.forms["myForm"]["XIGender"])) {
alert('All good!');
return false;
}
else {
alert('Please select a value.');
return false;
}
}
function validateRadio(radios) {
for (i = 0; i < radios.length; ++i) {
if (radios[i].checked) return true;
}
return false;
}
希望这会对你有所帮助。 :) 享受编码。
答案 1 :(得分:0)
使用simple button
代替submit button
,这样您就可以阻止表单在出现问题时提交,并且只在else
分支上提交。
<input value="Submit" onclick="return inputval()" type="button" />
另外,你有一些拼写错误(错误的表格名称)。
function inputval() {
var $XIForm = $('form[name=formreg]'); //you had wrong name here
if ($("form[name='formreg'] input[type='radio']:checked").length != 1) {
alert("Select at least male or female.");
return false;
}
else {
var gender = $("input").val();
//alert(gender);
$XIForm.submit();
alert(gender);
}
}
没有使用提交按钮的问题是没有JavaScript就无法提交表单,但我认为在你的情况下这是好的,因为如果你无法验证它,你不想提交表单。