1. 程式人生 > >自己寫一個序列化form表單,表單中有複選框checkbox,單選框radio等

自己寫一個序列化form表單,表單中有複選框checkbox,單選框radio等

form表單中有複選框,單選框等

var serializeform = function (formid) {
    var form = document.getElementById(formid);
    var arr = {};
    for (var i = 0; i < form.elements.length; i++) {
        var feled = form.elements[i];
        switch (feled.type) {
        case undefined:
        case 'button':
        case 'file':
        case 'reset':
        case 'submit':
            break;
        case 'checkbox':
        case 'radio':
            if (!feled.checked) {
                break;
            }
        default:
            if (arr[feled.name]) {
                arr[feled.name] = arr[feled.name] + ',' + feled.value;
            } else {
                arr[feled.name] = feled.value;
            }
        }
    }
    return arr

}

//把obj物件中的屬性新增到resultObj物件中
function pushProperty(obj, resultObj) {
    for (var property in obj) { 
        var propertyName = property;
        var propertyValue = obj[property];
        resultObj[propertyName] = propertyValue;
     } 

}

var data;

var dataForm1 = serializeform("dataForm1");

pushProperty(dataForm1, data);

var dataForm2 = formser("dataForm2");

pushProperty(dataForm2, data);

本程式碼是自己寫的,專案中正用著,可能想的不全面,歡迎多提意見,我不斷完善,共同進步,謝謝