2012-02-19 38 views
1

我很難解決這個問題,並會問你的幫助! 我試圖做一個JavaScript,但我沒有成功 我有一個內部的表格,兩個輸入複選框,當用戶按提交 我想驗證兩個複選框是否選中,如果他們被選中我想要到 在將它們發送到另一個頁面之前禁用這兩個頁面, 並且如果只有一個被選中,我想什麼都不做。javascript函數在發送之前取消選中輸入複選框

<form action="{$GLOBALS.site_url}/search/"> 
<input type="checkbox" checked = "checked" name="new[equal]" value="1" /> New <br> 
<input type="checkbox" checked = "checked" name="used[equal]" value="1" /> Used <br> 
<input type="submit" class="button" value="[[Find:raw]]" /> 
</form> 

謝謝啦

+0

我不確定我明白你爲什麼要禁用複選框時,你會顯示一個新的頁面?也許只是測試兩者都被檢查並從提交返回false是可取的? – 2012-02-19 18:10:06

+0

,因爲系統默認已經選擇了新車和二手車,腳本已經準備就緒,我對系統不是100%熟悉,我必須明天打開它,所以我要求這個快速修復..: ) – user1179190 2012-02-19 19:03:19

回答

0

你可以試試這個。

var new = document.forms[0]["new[equal]"], 
    used = document.forms[0]["used[equal]"] 
    if(new.checked && used.checked){ 
     new.disabled = true; 
     used.disabled = true; 
    } 

如果你有在頁面上多個表單,那麼你應該提供一個nameform和使用表單名稱來選擇所需要的形式。

這樣的事情可以做到。

document.formName.elementNamedocument.formName['elementName']

更新: 如果你想驗證這對提交按鈕點擊,那麼你可以創建一個以上的代碼JS功能和調用它的提交按鈕點擊

HTML

<input type="submit" onclick="ValidateForm()" value="Submit" /> 

JS

function ValidateForm(){ 
    var new = document.forms[0]["new[equal]"], 
     used = document.forms[0]["used[equal]"] 
     if(new.checked && used.checked){ 
      new.disabled = true; 
      used.disabled = true; 
     } 
} 
+0

謝謝你回答ShankarSangoli,但我怎麼能在onclick事件,提交輸入??? – user1179190 2012-02-19 18:23:59

+0

@ user1179190 - 檢查我編輯的答案。 – ShankarSangoli 2012-02-19 18:46:15

+0

你救了我的一天我的朋友,非常感謝你! :) – user1179190 2012-02-19 18:54:57

1

看一看這裏:http://api.jquery.com/checked-selector/

它向你如何使用jQuery來檢查,如果一個複選框被選中或不。

+0

OP不使用jQuery。 – ShankarSangoli 2012-02-19 18:08:25

+0

OP正在尋求JavaScript解決方案,並不是一個好主意,爲這樣一個小任務加載完整的Jquery庫。 – xyz 2012-02-19 18:09:12

相關問題