1
我有一個複選框列表,我想確保用戶在提交表單前至少檢查一個複選框。我怎樣才能做到這一點?複選框驗證器
有3個類別,然後每個類別10個項目與複選框。
我想在javascript中這樣做,其中我將有一個隱藏變量,然後當用戶檢查任何複選框時,隱藏變量將有1作爲它的值,然後如果用戶將取消選中該框,隱藏變量將具有0作爲其值。
我有一個複選框列表,我想確保用戶在提交表單前至少檢查一個複選框。我怎樣才能做到這一點?複選框驗證器
有3個類別,然後每個類別10個項目與複選框。
我想在javascript中這樣做,其中我將有一個隱藏變量,然後當用戶檢查任何複選框時,隱藏變量將有1作爲它的值,然後如果用戶將取消選中該框,隱藏變量將具有0作爲其值。
你是如何標記它們的?
我希望像這樣...
<input type="checkbox" name="something[]" value="55" />
在
PHP
則...
if (! isset($_POST['something']) OR empty($_POST['something'])) {
echo 'Select a checkbox, please!';
}
您還可以檢查與的JavaScript ...
var inputs = document.getElementById('my-form').getElementsByTagName('input');
var checked = 0;
for (var i = 0, length = inputs.length; i < length; i++) {
if (inputs[i].getAttribute('type') !== 'checkbox') {
continue;
}
if (inputs[i].checked) {
checked++;
}
}
if (checked === 0) {
alert('Select a checkbox, please!');
}
我該如何在javascript中做到這一點? – anonymous2 2010-10-18 01:49:49
@ anonymous2查看我的編輯:) – alex 2010-10-18 01:57:38
+1這就是答案。但是,只是好奇,爲什麼混合了客戶端和服務器端技術?我做一切服務器端,因爲,用戶可以關閉JS,你必須處理(如何?)。而且,根據我的經驗,不可避免地會有人編輯頁面源代碼,稍微改變JS,「只是爲了看看會發生什麼」。無論哪種情況,您都需要長時間的維護,所以我建議僅使用服務器端(ymmv) – Mawg 2010-10-18 02:03:02