2011-06-02 18 views

回答

2

我覺得這個HTML5屬性只應該確定需要哪些字段。 你不能把邏輯說成「至少有一個是必需的」。

您需要爲此添加自定義JavaScript才能正常工作(和/或在服務器端進行驗證)。

希望這可以幫助...

+0

有多難過,我不喜歡使用太多的js。雖然,我沒有選擇:) Thx – anhtran 2011-06-03 06:45:46

0

你不能這樣做沒有JavaScript。 你可以做的是選擇一個默認選項並將其設置爲選中狀態。 但它不能保證在提交表單時選中了一個複選框。

1

我認爲這可以做到部分原因,使用CSS之後。不使用必需的屬性,而是在沒有選擇任何內容的情況下隱藏提交按鈕。

你會擺脫required屬性和使用CSS類似這樣的:

input[type=submit] { 
    display:none; 
} 

input[type=checkbox]:checked ~ input[type=submit] { 
    display:block; 
} 

然而,特定的CSS不工作在我的版本的谷歌瀏覽器。我對此提出了一個問題here。雖然我的FF 3.6似乎工作正常。

+0

這不是一個可靠的解決方案 - 最好使用JavaScript或在服務器端完成驗證完成 – Marty 2013-02-06 08:23:41

2

理想的答案是使用HTML5和required屬性作爲select元素的一部分,就像這樣:

<form method="post" action="processForm.php"> 
    <label for="myLanguages">What languages can you program in?</label> 
    <br> 
    <select id="myLanguages" multiple required> 
     <option value="C#">C# 
     <option value="Java">Java 
     <option value="PHP">PHP 
     <option value="Perl">Perl 
     <option value="Haskell">Haskell 
    </select> 
    <br> 
    <input type="submit" value="Submit"> 
</form> 

是的,我知道自己是不是複選框,但最終的功能正是你想。可悲的是,IE 9和Safari 5目前都不支持required屬性。但是,Chrome 13和FF 5可以。 (在Win 7上測試過)