试图使按钮提交表单时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;
}