У меня есть форма с флажками, эти флажки хранят там значение в массиве, если отмечены таким образом:
<input type='checkbox' name='listaction[]' value='2010102909103530'>
При отправке я проверяю, какие флажки были отмечены, и что-то с этим делаю.
Моя проблема возникает, когда выбран только один элемент, тогда listaction - это не массив, а просто строка ...
Как мне это обработать?
Все начинается с отправкикнопка, которая запускает desubmit ()
Это функции обработки:
function desubmit()
{
if(get_args()==false) {alert("U hebt geen treinen geselecteerd!");return false;}
if(labelling(true)) return false;
}
function Check(chk)
{
for (i=0; i < chk.length; i++) chk[i].checked=document.ListActionForm.Check_ctr.checked ;
}
function labelling(s)
{
notrains="U hebt geen treinen geselecteerd!"
selectval=document.ListActionForm.la.options[document.ListActionForm.la.selectedIndex].value;
if(selectval=='exportoptions') {popUpWin('form.php?exportconfig=1','console3',470,470);}
else if(selectval=='newlabel'&&!s) {jPrompt('Nieuwe Lijst:','Default', 'Maak nieuwe lijst (Max 20 karakters)', function(r) {if(r) {if(r.length>20){alert("Gekozen naam lijst mag maximum 20 tekens lang zijn (Overige tekens worden automatisch verwijderd)");r=r.substr(0,20);};document.ListActionForm.newlabel.value=r;document.getElementById('shownewlabel').innerHTML='[ Nieuwe Lijst: '+r+' ]';}});document.getElementById('popup_prompt').maxlength=5;}
else if(selectval=='export:pdf') {if(arg=get_args()) get_page('/PDF/pdf.php','ids',arg);else alert(notrains);}
else if(selectval=='export:csv') {if(arg=get_args())get_page('?export=csv','ids',arg);else alert(notrains);}
else if(selectval=='export:xlsapp') {if(arg=get_args())get_page('?export=excelvbs','ids',arg);else alert(notrains);}
else if(selectval=='export:xlsapptxt') {if(arg=get_args())get_page('?export=excelvbstxt','ids',arg);else alert(notrains);}
else return false;
return true;
}
function get_args()
{
s=chkboxa2str(document.ListActionForm['listaction[]']);
if(s.length<8)return false;
else return s;
}
function chkboxa2str(chkbox_a) {
var list = "";
for(var i = 0; i < chkbox_a.length; i++){ if(chkbox_a[i].checked) { list += chkbox_a[i].value + " "; } }
return list;
}