我有一個帶有選項卡控件的頁面,每個控件有近15個控件。總共有10個標籤和一個頁面中的約150個控件(控件如下拉列表,文本框,單選按鈕,僅限於列表框)。如何在頁面中使用javascript獲取頁面中的所有控件頁面
我的要求是在頁面底部有一個按鈕(提交)。我需要使用JavaScript進行檢查,在該頁面的150個控件中至少選擇3個選項,而不管它們選擇哪個選項卡。
請建議這個可以在我的aspx頁面上用JavaScript完成的最簡單最簡單的方法。
我有一個帶有選項卡控件的頁面,每個控件有近15個控件。總共有10個標籤和一個頁面中的約150個控件(控件如下拉列表,文本框,單選按鈕,僅限於列表框)。如何在頁面中使用javascript獲取頁面中的所有控件頁面
我的要求是在頁面底部有一個按鈕(提交)。我需要使用JavaScript進行檢查,在該頁面的150個控件中至少選擇3個選項,而不管它們選擇哪個選項卡。
請建議這個可以在我的aspx頁面上用JavaScript完成的最簡單最簡單的方法。
假設頁面上只有一個窗體(如果更多,則循環遍歷窗體並嵌套下面的循環)。
var selectedCount = 0;
var element;
for (var i = 0; i < document.forms[0].elements.length; i++)
{
element = document.forms[0].elements[i];
switch (element.type)
{
case 'text':
if (element.value.length > 0)
{
selectedCount++;
}
break;
case 'select-one':
if (element.selectedIndex > 0)
{
selectedCount++;
}
break;
//etc - add cases for checkbox, radio, etc.
}
}
我會看看基於原型serialize方法的東西 - 它可以給你一個所有表單控件的散列 - 它可能會給你一個你想要的東西。
像螢火蟲一樣會幫助你看到你得到什麼,並評估它是否符合你的需求。
你說你需要驗證至少應該選擇三個選項,但是你是否有可能需要驗證比這三個更多的選項?這些控件是否有唯一的ID或類名?你在使用特定的框架(jQuery,Prototype等)嗎?
不知道更多關於你的項目,很難做出任何固體建議,但使用純JavaScript(無框架),並假設你有,比如說,唯一的類名字,我會說...
這聽起來像是一個非常通用的解決方案,但如果不知道更多關於設置的信息,很難給出具體的代碼。
jQuery的將是一個簡單得多,以獲得頁面上的控件:
var inputs = $('input');
var selects = $('select');
var textBoxes = $("input[type='text']");
你真的應該考慮使用jquery來解決這個問題。這是免費的,所有的JavaScript程序員都在使用它!
如果你使用jQuery,你的問題變得相當微不足道。以下代碼行將搜索整個頁面,並返回所選位置的列表項的數量。
var count = $("option:selected").length;
刪除`和`標籤。 – 2008-10-16 23:46:25