Как перебрать все елементы формы и выделить их значения (например, сделать запрос вида ?&поле1=значение1&поле2=значение2&...)? В общем свойства type нету, а чекбоксы, текстовые поля, скрытые поля, селекты и тд отличаются расположением значения.
Вариант работает, самое интересное, что скрытые поля имеют атрибут checked, и им надо прописывать "<input type=hidden ... CHECKED>" (тогда в фае фоксе срабатывает, а в ИЕ - нет, так как чекед их не отмечает).
| Код | function get_form(f) { for(var i=0; i<f.elements.length; i++) { el=f.elements[i];
if (el.radio==null && el.selectedIndex==null && el.checked==null && el.defaultChecked==null ) { val=el.value; } else if (el.selectedIndex!=null) val=el.options[el.selectedIndex].value; else if (el.radio!=null) { for(var j=0; j<el.length;j++) if (el.radio[j].checked==true) val=el.radio[j].value; } else if (el.checked!=null && el.checked==true) val=el.value;
if (val) addstr+='&'+f.elements[i].name+'='+escape(val); val=''; } return addstr; } |
Есть какие-то другие варианты, чтобы работали все типы полей и во всех браузерах? |