日期:2014-05-16  浏览次数:20619 次

请问有没有方法用javascript获取到表单提交的值?
就是我想用ajax进行异步提交一些数据,但是数据是有5个6个或者更多,按正常是用getElementById等查询来取到相应的值,我觉得这样比较麻烦,如果要提交的东西稍微多一点,不很蛋疼?
想有没有和submit一样,直接把所有值提交过去来获取!
------解决方案--------------------
有呀,你是用jquery的吗?如果是,建议你去看看form操作的这一章,你就知道了。主要是这三个方法
form.ajaxSubmit(),form.submit()方法来form.ajaxForm()
------解决方案--------------------
onsunmit事件,想要向多个页面上提交都没问题
------解决方案--------------------
//通过ajax提交form表单, 此方法是得到form表单里的参数
// frmID form  的id
//结果:a=xxx&b=xxx
function getFormQueryString(frmID) { 

var frmID=document.getElementById(frmID);

    var i,queryString = "", and = "";
    var item; // for each form's object
    var itemValue;// store each form object's value

    for( i=0;i<frmID.length;i++ ) {
     item = frmID[i];// get form's each object
        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'){// ignore this type
 continue;
}
else {
itemValue = item.value;

}
            //itemValue = encodeURIComponent(itemValue);

itemValue = encodeURI(encodeURIComponent(itemValue));   //汉字格式转换
            queryString += and + item.name + '=' + itemValue;
            
            and="&";

         }
     }
     return queryString;
}

希望楼主有用!