2013-01-19 22 views
1
計數複選框

這個JavaScript功能在網頁我打電話:從javascript函數

function getChecked(button, form) { 

var name; 
for (i = 0; i < document.forms['CheckForm'].list.length; i++) { 
name = "Check" + (i+0); 
if(document.forms['CheckForm'].list[i].checked == true) { 

if(name == "Check0") 
form.Check0.value = "2437315"; 

else if(name == "Check1") 
form.Check1.value = "2437104"; 

else if(name == "Check2") 
form.Check2.value = "2434936"; 

else if(name == "Check3") 
form.Check3.value = "2434574"; 

else if(name == "Check4") 
form.Check4.value = "2433541"; 

else if(name == "Check5") 
form.Check5.value = "2426021"; 

} 

有時有6次檢查,有時7,有時3,我需要計算有多少檢查(Somenumber)幫助有是,然後建立與Check0 = 0 & Check1 = 0 & Check2 = 0依此類推。

我沒有設置每個檢查到不同的值,我需要計算有多少個複選框,然後將它們設置爲0,我使用PHP來捲曲頁面。

+0

您可以添加任何HTML以獲得更好的點子? – Jeff

+0

如果我很好地理解了你的問題,如果你想要統計你檢查的輸入,並且你是jQuery友好的,你可以聲明一個變量var count = 0; $('input')。each(function(){if $(this).is(':checked')count ++;});/*假設您的輸入是複選框類型* /,然後檢索count的值。那是你要的嗎 ? – Newben

回答

0

在javascript中,你可以做這樣的事情:

var form = top.document.forms.CheckForm; 
var numFormElements = form.length; 
var counter = 0; 
for(i = 0; i < numFormElements && !foundItem; i++) 
    { 
    var obj = form[i]; 
    if(obj.type == 'checkbox') 
    { 
     counter++; 
    } 
    } 
alert(counter); // or whatever else 

我要補充...我不認爲有任何的方式,一個服務器端語言可以知道輸入的類型。這些信息必須通過客戶端方式從用戶的Web瀏覽器中獲取。

+0

你好,我沒有使用javascript,我用PHP來捲曲頁面,而javascript是在被調用的頁面中,我需要的東西在我的PHP腳本中,可以計算和建立捲曲post storring – user1989379

0

你可以簡單地建立你想要的字符串。還有其他方法可以做到這一點(我建議使用jQuery並使用「this」循環)。這是我現在的代碼所要做的。

//set a string 
var values = ''; 

if(name == "Check0") { 
    form.Check0.value = "2437315"; 
    values += 'Check0=' + form.Check0.value; 
} else if(name == "Check1") { 
    form.Check0.value = "2437315"; 
    values += 'Check1=' + form.Check1.value; 
} 
+0

你好,我沒有使用JavaScript,我使用PHP來捲曲頁面,並且javascript在被調用的頁面中,我需要在我的PHP腳本中可以計數並構建捲曲後綴的東西 – user1989379