我們在使用Ajax的時候,通常需要擷取表單元素值,然後發送給背景伺服器端程式處理。如果表單元素不多的情況我們常常會通過GET方式來擷取表單元素值,但如果表單元素非常多,此時就需要用POST方式來擷取表單元素值,那麼如何來擷取表單元素值呢?下面給出一段JS代碼即可自動擷取表單元素的值了。
function getFormQueryString(frmID) //frmID是表單的ID號,請在表單form中先命名一個ID號{var frmID=document.getElementById(frmID);var i,queryString = "", and = "";var item;var itemValue;for( i=0;i<frmID.length;i++ ){item = frmID[i];if ( item.name!='' ){if ( item.type == 'select-one' ){itemValue = item.options[item.selectedIndex].value;}else if ( item.type=='checkbox' || item.type=='radio'){if ( item.checked == false ){continue; }itemValue = item.value;}else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image'){continue;}else{itemValue = item.value;}itemValue = escape(itemValue);queryString += and + item.name + '=' + itemValue;and="&";}}return queryString;}
調用方法:直接在Ajax中調用以上JS函數即可擷取表單中所有元素的值了。