javascript表单验证-重新加载页面

javascript表单验证-重新加载页面,javascript,forms,validation,Javascript,Forms,Validation,我有一个表单,上面有一些字段。我还在学习Javascript。提交my时,它会触发my JS,该JS检查字段是否已提交,然后通过innerhtml在中显示错误。问题是它只显示div几秒钟,然后完成重新加载页面,不再显示div function checkradio() { chosen = "" len = document.cv.Radio1.length for (i = 0; (i<2); i++) { if (document.cv.Radio1[i].checked) { cho

我有一个表单,上面有一些字段。我还在学习Javascript。提交my时,它会触发my JS,该JS检查字段是否已提交,然后通过innerhtml在中显示错误。问题是它只显示div几秒钟,然后完成重新加载页面,不再显示div

function checkradio() {
chosen = ""
len = document.cv.Radio1.length
for (i = 0; (i<2); i++) {
if (document.cv.Radio1[i].checked) {
chosen = document.cv.Radio1[i].value
}
}
if (chosen == "") {
document.getElementById('error-1').innerHTML = "Please choose a type";
document.getElementById("Radio1").focus();
}
}
功能检查收音机(){
已选择=“”
len=document.cv.Radio1.length

对于(i=0;(i如果验证失败,您需要防止默认行为

您最有可能对提交内容进行验证,例如:

 $('form').submit(function(e){


    check = checkradio() // let your function return true or false
    if(!check){
      e.preventDefault(); // add this to not submit the form
    }

 });
因此,如果验证失败,表单将不会提交

调整后的验证函数可能如下所示:

function checkradio() {
chosen = ""
len = document.cv.Radio1.length
for (i = 0; (i<2); i++) {
if (document.cv.Radio1[i].checked) {
chosen = document.cv.Radio1[i].value
}
}
if (chosen == "") {
document.getElementById('error-1').innerHTML = "Please choose a type";
document.getElementById("Radio1").focus();
return false;
}else {
return true;
}
}
功能检查收音机(){
已选择=“”
len=document.cv.Radio1.length
对于(i=0;(i您需要添加

e.preventDefault();

用于避免默认行为


因此,如果验证失败,则将不会提交
表单。

请检查您使用的是普通HTML输入元素还是ASP.NET服务器元素。如果您像这样使用服务器元素,则页面将发送回服务器(重新加载)当点击按钮时。您上面给出的详细信息是不够的。

没有jQuery:非常感谢您让我走上正确的方向!经过一番努力和研究,这是有效的:然后是javascript:函数toSubmit(){check=checkradio();if(!check){alert('我不会提交');返回false;}否则{返回true;}