Справка по циклу ввода JavaScript - PullRequest
0 голосов
/ 07 августа 2010

У меня есть форма, которая в настоящее время анализирует только первую входную переменную в POST. Мне пришлось добавить несколько переменных, поэтому я хотел бы, чтобы функция проходила по циклу, захватывала все входные параметры и добавляла в POST

Вот рабочий код для получения имени и значения .... Как я могу получить его для проверки формы и получения всех пользовательских имен и переменных.

пример здесь

// dynamically add key/value pair to POST body
function read_custom_param(){
var nameEl = document.getElementById("custom_name");
var valueEl = document.getElementById("custom_value");

// save custom param name and value
var cust_param_name = nameEl.value;
var cust_param_value = valueEl.value;

// remove old custom param form elements
if (valueEl.parentNode && valueEl.parentNode.removeChild){
         valueEl.parentNode.removeChild(valueEl);
}
if (nameEl.parentNode && nameEl.parentNode.removeChild){
         nameEl.parentNode.removeChild(nameEl);
}

// add new custom param form elements
var el=document.createElement("input");
el.type="text";
el.name=cust_param_name;
el.value=cust_param_value;
document.getElementById("dcapiform").appendChild(el);
}

С уважением, Chris

1 Ответ

1 голос
/ 07 августа 2010

для каких бы целей вы ни пытались отправить неоднозначные имена полей на сервер, вот что вы ищете (вам следует подумать о более разумном способе, вместо этого он может привести к обработке на стороне сервера)

var elems = document.getElementsByTagName("input");
var arr = [];
for (var i = 0; i<elems.length; i++){
    if (elems[i].type != "text") continue;
    if (elems[i].name.indexOf("custom_name") < 0) continue;
    var index = parseInt(elems[i].name.substring(11)); // you should rename custom_name to custom_name1, and so for custom_value

    arr[arr.length] = elems[i].value+"=" + elems["custom_value"+index].value;
}
document.forms[0]["passedITems"] = arr.join(",");
docmentt.forms[0].submit();

на стороне вашего сервера, прочитайте «sentItems» и разделите на «,», вы получите массив «имя = значение», снова разделите на «=», вы получите подмассив имени и значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...