我在使用html和javascript
创建的表单时出现问题首先我想要多个复选框
如果选中一个,则在提交用户被带到一个网址
如果选中了两个框,则提交用户被带到另一个URL等。
这是可能的,如果是这样,javascript或jquery会是什么????????
答案 0 :(得分:0)
有些代码会很好,因为我不知道您使用什么机制来提交表单,但解决方案很可能会涉及到这样的内容:
switch ($('form input:checkbox:checked').length)
{
case 1:
window.location.href = url1;
break;
case 2:
window.location.href = url2;
break;
//etc
default:
}
编辑:好的,我必须给Valentin一些功劳,让我们结合解决方案。
var $myForm = document.getElementById('myForm');
$('#myForm input:checkbox').on('change', function(event){
switch ($('#myForm input:checkbox:checked').length)
{
case 1:
$myForm.action = url1;
break;
case 2:
$myForm.action = url2;
break;
//etc
default:
}
});
答案 1 :(得分:0)
我说你可以使用复选框的onCheck
和onUnCheck
,并让他们将表单的action-attribute修改为用户应该采取的任何页面。
所以你的HTML可能是:
<form method="post" action="whateverpage.php" id="myform">
<input type="checkbox" id="check0"/>
<input type="checkbox" id="check1"/>
<input type="submit" value="Submit" />
</form>
你的javascript:
yourform=document.getElementById("myform");
checkbox0=document.getElementById("check0");
checkbox1=document.getElementById("check1");
checkbox0.onCheck=function(){
if(checkbox1.checked==true){
yourform.action="bothchecked.php";
}else{
yourform.action="firstchecked.php";
}
}
checkbox1.onCheck=function(){
if(checkbox0.checked==true){
yourform.action="bothchecked.php";
}else{
yourform.action="secondchecked.php";
}
}
checkbox1.onUnCheck=function(){
if(checkbox0.checked==true){
yourform.action="firstchecked.php";
}else{
yourform.action="nonechecked.php";
}
}
checkbox0.onUnCheck=function(){
if(checkbox1.checked==true){
yourform.action="secondchecked.php";
}else{
yourform.action="nonechecked.php";
}
}
当然,您可以选择使用yourform.setAttribute("action","page.php");
。