ciao aragazzi ho ampliato un funzione che preleva dei valori da tutti i campi contenenuti in una FORM per trasformarla in una stringa da utilizzare con ajax.
il problema si verifica quando un campto TEXT contiene l'apice sinolo o il Punto e virgola. la funzione si blocca.
per ora ho dovuto fare un replace... dove ovviamente inserisce caratteri diversi....
function run(TARGET, FILE, METHOD, xForm, xFormNew){
var num = window.document[xForm].elements.length;
var url = "";
//radio button
var j = 0;
var a = 0;
var radio_buttons = new Array();
var nome_buttons = new Array();
var the_form = window.document[xForm];
for(var i=0; i<the_form.length; i++){
var temp = the_form.elements[i].type;
if ( (temp == "radio") && ( the_form.elements[i].checked) ) {
nome_buttons[a] = the_form.elements[i].name;
radio_buttons[j] = the_form.elements[i].value;
j++;
a++;
}
}
for(var k = 0; k < radio_buttons.length; k++) {
url += nome_buttons[k] + "=" + radio_buttons[k] + "&";
}
//checkbox
var j = 0;
var a = 0;
var check_buttons = new Array();
var nome_buttons = new Array();
var the_form = window.document[xForm];
for(var i=0; i<the_form.length; i++){
var temp = the_form.elements[i].type;
if ( (temp == "checkbox") && ( the_form.elements[i].checked) ) {
nome_buttons[a] = the_form.elements[i].name;
check_buttons[j] = the_form.elements[i].value;
j++;
a++;
}
}
for(var k = 0; k < check_buttons.length; k++) {
url += nome_buttons[k] + "=" + check_buttons[k] + "&";
}
for (var i = 0; i < num; i++){
var chiave = window.document[xForm].elements[i].name;
var valore = window.document[xForm].elements[i].value;
var tipo = window.document[xForm].elements[i].type;
if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") ){}
else {
url += chiave + "=" + valore + "&";
}
}
var parameters = url;
url = FILE + "?" + url;
if (TARGET == '') {
url=url.replace(/[\']/g,"`");
url=url.replace(/[\;]/g,"¦");
displayMessage(url);
}
else { LoadAjax(xFormNew,TARGET,url) }
}
url=url.replace(/[\']/g,"`");

Rispondi quotando
