21,893
社区成员




//jquery果然效率高,,,,,我前面贴的有点问题,再献丑一次吧,个人测试通过
function encodeFormData(formElement) { //formElement == $('#XXX');
var whereClause = "";
var and = "";
for ( i = 0 ; i < formElement.length ; i++ ) {
var element = formElement[i];
alert(i);
if ( element.name != "" ) {
if (element.type=='select-one') {
element_value = element.options[element.selectedIndex].value;
} else if ( element.type == 'checkbox' || element.type == 'radio' ) {
if ( element.checked == false ) {
continue;
}
element_value = element.value;
} else {
element_value = element.value;
}
whereClause += and + 'form[' + element.name + ']=' + element_value.replace(/\&/g,"%26");
and = "&"
}
}
return whereClause;
}
new Ext.Ajax.request({
form : 'form id值'
,upload : true
})
<form name="frm" id="frm">
<input type="text" name='key1' value="val1"/>
<input type="text" name='key2' value="val2"/>
<input type="text" name='key3' value="val3"/>
<input type="text" name='key4' value="val4"/>
</form>
<script>
var of = document.getElementById('frm')
,ip = of.elements
,postdata = []
for(var i=0,j=ip.length;i<j;i++){
postdata[postdata.length] = ip[i].name + '=' + ip[i].value;
}
alert(postdata.join('&'));
</script>
//自己拼装了,就是数组接收值吧???不过jquery.form.js也不错
function encodeFormData(formElement) { //formElement == $('#XXX');
var whereClause = "";
var and = "";
for ( i = 0 ; i < formElement.length ; i++ ) {
var element = formElement[i];
if ( element.name != "" ) {
if (element.type=='select-one') {
element_value = element.options[element.selectedIndex].value;
} else if ( element.type == 'checkbox' || element.type == 'radio' ) {
if ( element.checked == false ) {
break;
}
element_value = trim(element.value);
} else {
element_value = trim(element.value);
}
whereClause += and + 'form[' + trim(element.name) + ']=' + element_value.replace(/\&/g,"%26");
and = "&"
}
}
return whereClause;
}