Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图使按钮提交表单时JavaScript代码出错_Javascript - Fatal编程技术网

试图使按钮提交表单时JavaScript代码出错

试图使按钮提交表单时JavaScript代码出错,javascript,Javascript,这是应在表单上执行提交的代码,但它不执行提交: <script> function validate(){ var formm = document.getElementById('form_first'); var basar1=document.form_first.basar1; var basar2=document.form_first.basar2; if(basar1.checked == 1 && basar2.check

这是应在表单上执行提交的代码,但它不执行提交:

 <script>
  function validate(){
   var formm = document.getElementById('form_first');
   var basar1=document.form_first.basar1;
   var basar2=document.form_first.basar2;
   if(basar1.checked == 1 && basar2.checked == 1){     
   alert('Please ckeck only one of them') ;            
    }
   else{
    formm.submit();
    }    
      }
  </script>

函数验证(){
var formm=document.getElementById('form_first');
var basar1=document.form_first.basar1;
var basar2=document.form_first.basar2;
如果(basar1.checked==1&&basar2.checked==1){
警报(“请仅检查其中一个”);
}
否则{
formm.submit();
}    
}

这是我的HTML页面:

<form action="#" method="post" name="form_first" id="form_first" >

 <tr id="row_ques">
     <td width="200">aaaaa</td>
     <td width="113"><input type="checkbox" name="basar1" value="aaaa" /></td>
     <td width="113"><input type="checkbox" name="basar2" value="bbbb" /></td>
  </tr>

<input type="button"  onclick="validate();" value="Save" name="btn_first" id="btn_first"  />

</form> 

AAAA
问题是,如果正确检查了验证,则不会提交表单更改这些行

   var basar1=document.form_first.basar1;
       var basar2=document.form_first.basar2;

你应该通过

发布到hash
“#”
不会触发页面加载。“发布到<代码>”将加载包含发布数据的页面

<form action="" method="post" name="form_first" id="form_first" >

 <tr id="row_ques">
     <td width="200">aaaaa</td>
     <td width="113"><input type="checkbox" name="basar1" value="aaaa" /></td>
     <td width="113"><input type="checkbox" name="basar2" value="bbbb" /></td>
  </tr>

  <input type="button"  onclick="validate();" value="Save" name="btn_first" id="btn_first"  />

</form> 

您可以使用
onSubmit
函数验证表单

<form action="/feedback" method="post" name="form_first" 
       onSubmit="return validate()">
     <!-- write your form conent -->
</form> 


function validate(){
    //validation
    if (failed) {
        // return false will cancel the form submission
        return false;
    }   

    // If everything goes well, proceed the form submission
    return true;
}

函数验证(){
//验证
如果(失败){
//return false将取消表单提交
返回false;
}   
//如果一切顺利,请继续提交表格
返回true;
}

但验证工作正常问题在于首先提交表单,他的输入没有ID。因此,您不能按ID搜索它们。
document.form\u first.basar1有什么问题?当然
document.forms.form_first.basar1
可能更好,但两者都很好。mmmmmmmm只关心我的问题哦,还有一个打字错误。您正在查找同一ID两次。是否有任何错误?您想在哪里提交表单?到“#”<代码>操作=“#”
可能是问题所在。一切都很好与HTML和JavaScript在我身边!为什么通过
document.getElementById
获取
formm
,但在获取其输入时,您通过
document再次查找表单。formm
(两次)?
basar1.checked==1
不正确
basar1。选中的
是布尔值,不是数字。您应该删除
==1
。如果您最多要选中一个复选框,为什么不使用单选按钮?@user3148167,您要将表单发布到哪里?预期的操作是什么?如果您使用的是PHP,请将表单发布到
”,而不是
“#”
@vivekvasani请将澄清请求线程移动到问题所在的位置。@user3148167确实如此<另一方面,code>#表示“留在页面上”,至少在
href
@user3148167 define(在问题中)“不工作”中是这样。这包括浏览器在错误日志/开发人员控制台中显示的任何错误消息。
function validate(){
    var formm = document.getElementById('form_first');
    if(formm.basar1.checked && formm.basar2.checked ){     
        alert('Please ckeck only one of them');            
    }else{
        formm.submit();
    }
}
<form action="/feedback" method="post" name="form_first" 
       onSubmit="return validate()">
     <!-- write your form conent -->
</form> 


function validate(){
    //validation
    if (failed) {
        // return false will cancel the form submission
        return false;
    }   

    // If everything goes well, proceed the form submission
    return true;
}