Javascript表单(带有单选按钮)验证不起作用
这段代码在今天早些时候运行,然后随机停止,某些内容必须更改,但我无法确定是什么-请参见以下内容: **更新-代码更新如下。现在它可以正确识别是否选中了单选按钮,但是如果用户在显示警报后尝试重新提交表单,则识别的状态无法更新。是否需要某种循环Javascript表单(带有单选按钮)验证不起作用,javascript,forms,validation,Javascript,Forms,Validation,这段代码在今天早些时候运行,然后随机停止,某些内容必须更改,但我无法确定是什么-请参见以下内容: **更新-代码更新如下。现在它可以正确识别是否选中了单选按钮,但是如果用户在显示警报后尝试重新提交表单,则识别的状态无法更新。是否需要某种循环 function checkForm() { var x=document.forms["sdcomp"]["name"].value; if (x==null || x=="") { alert("Name must be filled out");
function checkForm()
{
var x=document.forms["sdcomp"]["name"].value;
if (x==null || x=="")
{
alert("Name must be filled out");
return false;
}
var x=document.forms["sdcomp"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Please enter a valid e-mail address");
return false;
}
if (document.getElementById("questionone").checked==false)
{
alert("Question one must be completed");
return false;
}
if (document.getElementById("questiontwo").checked==false)
{
alert("Question two must be completed");
return false;
}
if (document.getElementById("questionthree").checked==false)
{
alert("Question three must be completed");
return false;
}
if (document.getElementById("questionfour").checked==false)
{
alert("Question four must be completed");
return false;
}
}
函数检查表()
{
var x=document.forms[“sdcomp”][“name”].value;
如果(x==null | | x==“”)
{
警告(“必须填写姓名”);
返回false;
}
var x=document.forms[“sdcomp”][“email”]值;
var atpos=x.indexOf(“@”);
var dotpos=x.lastIndexOf(“.”);
如果(atpos)
姓名:
电邮:
乌塞恩·博尔特是目前男子100米世界纪录的保持者,但他的最佳时间是什么
8.45秒
9.58秒
10.12秒
9.32
问题二:
答案一
答案二
回答三
答案四
问题三:
答案一
答案二
回答三
答案四
问题四:
答案一
答案二
回答三
答案四
您对此仍有疑问,是否可以帮助我?再次感谢!能否显示整个表单?同时,请尝试以下操作:
function checkForm() {
var x=document.forms["sdcomp"]["name"].value;
if (x==null || x=="") {
alert("Name must be filled out");
return false;
}
var x=document.forms["sdcomp"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Please enter a valid e-mail address");
return false;
}
if (document.getElementById("questionone").checked) {
alert("Option one is selected");
} else if (document.getElementById("questiontwo").checked) {
alert("Option two is selected");
} else if (document.getElementById("questionthree").checked) {
alert("Option three is selected");
} else if (document.getElementById("questionfour").checked) {
alert("Option four is selected");
} else {
alert("No option is selected");
}
}
函数检查表(){
var x=document.forms[“sdcomp”][“name”].value;
如果(x==null | | x==“”){
警告(“必须填写姓名”);
返回false;
}
var x=document.forms[“sdcomp”][“email”]值;
var atpos=x.indexOf(“@”);
var dotpos=x.lastIndexOf(“.”);
如果(atpos可以显示整个表单吗?同时,请尝试以下操作:
function checkForm() {
var x=document.forms["sdcomp"]["name"].value;
if (x==null || x=="") {
alert("Name must be filled out");
return false;
}
var x=document.forms["sdcomp"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Please enter a valid e-mail address");
return false;
}
if (document.getElementById("questionone").checked) {
alert("Option one is selected");
} else if (document.getElementById("questiontwo").checked) {
alert("Option two is selected");
} else if (document.getElementById("questionthree").checked) {
alert("Option three is selected");
} else if (document.getElementById("questionfour").checked) {
alert("Option four is selected");
} else {
alert("No option is selected");
}
}
函数检查表(){
var x=document.forms[“sdcomp”][“name”].value;
如果(x==null | | x==“”){
警告(“必须填写姓名”);
返回false;
}
var x=document.forms[“sdcomp”][“email”]值;
var atpos=x.indexOf(“@”);
var dotpos=x.lastIndexOf(“.”);
如果(atpos首先,在您的问题中,所有答案都具有相同的id='questionone'。您需要删除这些id
要检查是否选中了特定名称组,可以使用:
function isAnswered(name) {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if ((input.name === name) && (input.checked)) {
return true;
}
}
return false;
}
首先,在您的问题中,所有答案都具有相同的id='questionone'。您需要删除这些id
要检查是否选中了特定名称组,可以使用:
function isAnswered(name) {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if ((input.name === name) && (input.checked)) {
return true;
}
}
return false;
}
您是否尝试删除
?可能是重复的谢谢,我刚刚删除了它!但不幸的是没有效果。请尝试在单选按钮上设置id,如下所示:
您好,恐怕也没有帮助-代码现在无法验证。在它说没有值之前,即使有值。您是否尝试过remove
?可能是重复的谢谢,我刚刚删除了它!但不幸的是没有用。请尝试在单选按钮上设置id,如下所示:
嗨,恐怕这也没用-代码现在无法验证。在它说没有价值之前,即使有。谢谢@ClydeFrog。这就是我要告诉我们的代码如果没有选择选项一,它会正常工作。如果重新选择,它就不会被识别?我将尝试在脚本底部输入第二个命令来重新检查它。谢谢@ClydeFrog。这是我正在使用的代码,如果没有选择选项一,它会正常工作。如果重新选择,它就不会被重新选择gnised?我将尝试输入第二个命令以在脚本底部重新检查它。不幸的是,这不起作用,而是出现了一个错误,表示所有字段都未完成。谢谢!我已将代码从input.checked=='checked'更改为input.checked=true。它现在应该可以工作了。我在FF中进行了测试,但我将签入一些ot她的浏览器。你使用jQuery吗?实际上,为了安全起见,我再次将其更改为just(input.checked)。不幸的是,这不起作用,反而出现了一个错误,表示所有字段都未完成。谢谢!我已将代码从input.checked=='checked'更改为input.checked=true。现在应该可以工作了。我在FF中进行了测试,但我会在其他浏览器中进行检查。是否使用jQuery?实际上,为了安全起见,我再次将其更改为just(输入。选中)。
function isAnswered(name) {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if ((input.name === name) && (input.checked)) {
return true;
}
}
return false;
}
if (!isAnswered("Qone")) {
alert("Question one must be completed");
return false;
}