2012-12-06 82 views
-1
我有一個形式,我想在HTML和JavaScript來創建一個問題

的Javascript,一個複選框選中= location.html,2複選框選中= anotherlocation.html

首先,我想有多個檢查盒

如果被選中,在的onsubmit用戶被帶到一個URL

如果兩個複選框被選中,的onsubmit,用戶被引導到另一個URL等。

這是可能的,如果是什麼將JavaScript或jquery是???????

+4

請張貼您的代碼 - 或者您嘗試的任何內容。 http://stackoverflow.com/faq#questions –

+0

你到目前爲止在代碼方面有什麼?您在提交代碼時是否遇到問題?是選擇發送哪個頁面,等等 – Chris

回答

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: 
     } 
    }); 
0

我說你可以使用複選框的onCheckonUnCheck的,並讓他們修改表單的動作屬性,任何網頁,用戶應採取。

所以,你的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");交替。

相關問題