javascript 取消选中一个复选框,因为另一个被选中并提交表单
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16093177/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
uncheck one checkbox as another is checked and submit the form
提问by user2170133
I am trying to combine two javascript
functions into one function.
我正在尝试将两个javascript
功能合并为一个功能。
So, I have this chunk of code:
所以,我有这段代码:
<form name="form1" action="testing_page2.php" method="GET">
<p><input id="Main" type="checkbox" name="Main" value="1" onClick="javascript:uncheckSecondary(this);" />Main</p>
<p><input id="Secondary" type="checkbox" name="Secondary" value="2" />Secondary</p>
</form>
<script language="javascript" type="text/javascript">
function uncheckSecondary(obj)
{
if (obj.checked == true)
{
document.getElementById("Secondary").checked = false;
}
}
</script>
Here, when the page loads, the Secondarycheckbox will be checked(I have an if clause
there, but it is not related to my question) , but Mainis not checked.
As I check the Maincheckbox, Secondaryis unchecked.
在这里,当页面加载时,将选中辅助复选框(我有一个,但与我的问题无关),但未选中Main。当我检查主要复选框,次要是未选中。if clause
And also I have another piece of code:
而且我还有另一段代码:
<script language="javascript">
function checkRefresh(value)
{
document.form1.submit();
}
</script>
<form name="form1" action="testing_page2.php" method="GET">
<p><input id="Main" type="checkbox" name="Main" value="1" onClick="this.form.submit();"/>Main</p>
<p><input id="Secondary" type="checkbox" name="Secondary" value="2" onClick="this.form.submit();"/>Secondary</p>
</form>
Here, as I check/uncheck any of checkboxes, the form is submitted.
在这里,当我选中/取消选中任何复选框时,表单已提交。
Edited:
编辑:
What I want is to combine function checkRefresh(value)
and function uncheckSecondary(obj)
, so that when I check Main, the Secondary is unchecked and form is submitted, and vice versa.
我想要的是结合function checkRefresh(value)
and function uncheckSecondary(obj)
,这样当我检查 Main 时,未选中 Secondary 并提交表单,反之亦然。
回答by Luigi Siri
Try this piece of code...
试试这段代码...
<script>
function checkRefresh(value)
{
document.form1.submit();
}
function uncheck(check)
{
var prim = document.getElementById("Main");
var secn = document.getElementById("Secondary");
if (prim.checked == true && secn.checked == true)
{
if(check == 1)
{
secn.checked = false;
checkRefresh();
}
else if(check == 2)
{
prim.checked = false;
checkRefresh();
}
}
}
</script>
<form name="form1" action="#" method="POST">
<p><input id="Main" type="checkbox" name="Main" value="1" onClick="uncheck(1);"/>Main</p>
<p><input id="Secondary" type="checkbox" name="Secondary" value="2" onClick="uncheck(2)"/>Secondary</p>
</form>
It will submit the form only when the condition applies as you stated.
只有当条件如您所说的那样适用时,它才会提交表格。
Welcome to Javascript.
欢迎使用 JavaScript。
回答by Hyman
<form name="form1" action="#" method="POST">
<p><input id="Main" type="checkbox" name="Main" value="1" onClick="if (this.checked) document.getElementById('Secondary').checked = false; this.form.submit();"/>Main</p>
<p><input id="Secondary" type="checkbox" name="Secondary" value="2" onClick=""/>Secondary</p>
</form>