Hi all,
It is possible to extract from a Form all the name=value pairs?
I have to collect all the name=value pairs to build an url string like:
name1=value1&name2=value2&…&nameX=valueX
How can I do this?
Bye
Samuel
It’s not available to get “name” of an item.
To get value you may use getItemValue(name) method
Hi,
I have found this solution:
query_parameters = "";
for (item in chart_form.itemPull) {
if (typeof(chart_form.itemPull[item]._value)!="undefined") {
if (typeof(chart_form.itemPull[item]._group)=="undefined") {
if ((typeof(chart_form.itemPull[item]._checked )=="undefined") || (chart_form.itemPull[item]._checked == true)) {
if (query_parameters!="") {
query_parameters += '&';
};
query_parameters += chart_form.itemPull[item]._idd+"="+chart_form.itemPull[item]._value;
}
} else {
if (chart_form.itemPull[item]._checked == true) {
if (query_parameters!="") {
query_parameters += '&';
};
query_parameters += chart_form.itemPull[item]._group+"="+chart_form.itemPull[item]._value;
}
}
} else {
var xid = String(item).replace(chart_form.idPrefix,"");
try {
value = chart_form.getItemValue(xid);
} catch(e) {
value = "";
try {
value = chart_form.getCheckedValue(xid);
} catch(e) {
value = "";
try {
value = chart_form.getOptions(xid);
} catch(e) {
value = "";
if (typeof(chart_form.itemPull[xid]._value)!="undefined") {
if (typeof(chart_form.itemPull[xid]._group)=="undefined") {
if ((typeof(chart_form.itemPull[xid]._checked )=="undefined") || (chart_form.itemPull[xid]._checked == true)) {
value = chart_form.itemPull[xid]._value;
}
} else {
if (chart_form.itemPull[xid]._checked == true) {
value = chart_form.itemPull[xid]._value;
}
}
}
}
}
};
if ((value!="") && (value!=null)) {
if (query_parameters!="") {
query_parameters += '&';
};
query_parameters += xid+"="+value;
}
}
}
if (query_parameters =="") query_parameters = "error=true";
alert(query_parameters);
Where “chart_form” is a form created somewhere!
It is not very elegant, contains too many “if” and I suppose we can optimize. However it works!
Bye SAM
Hello,
use this:
var t = myForm.getFormData();
to set values:
myForm.setFormData({name:"value",name2:"value2"...});