У меня есть форма, которая экспортирует пользовательские данные в XML при отправке. Этот XML затем передается через API, чтобы определить, принят ли клиент или отказан в кредите.
Вот моя функция от преобразования JS в XML:
function js2xml(a) {
let c = document.createElement("root");
let t = function(v) {
return {}.toString.call(v).split(' ')[1].slice(0, -1).toLowerCase();
};
let f = function(f, c, a, s) {
//c.setAttribute("type", t(a));
if (t(a) != "array" && t(a) != "object") {
if (t(a) != "null") {
c.appendChild(document.createTextNode(a));
}
} else {
for (let k in a) {
let v = a[k];
if (k == "__type" && t(a) == "object") {
c.setAttribute("__type", v);
} else {
if (t(v) == "object") {
let ch = c.appendChild(document.createElementNS(null, s ? "item" : k));
f(f, ch, v);
} else if (t(v) == "array") {
let ch = c.appendChild(document.createElementNS(null, s ? "item" : k));
f(f, ch, v, true);
} else {
let va = document.createElementNS(null, s ? "item" : k);
if (t(v) != "null") {
va.appendChild(document.createTextNode(v));
}
let ch = c.appendChild(va);
//ch.setAttribute("type", t(v));
}
}
}
}
};
f(f, c, a, t(a) == "array");
return c.innerHTML;
}
Когда я проверяю переключатель, выводимое значение остается неизменным в экспортированном XML (4-й переключатель), даже есликаждому переключателю присвоено другое значение. Ниже мой код для вопроса.
Я пытался изменить значения для каждой кнопки, чтобы они были разными, но мой выход всегда выбирает последнюю кнопку.
<label for="AmountNeeded">How much do you need?</label><br>
<input type="radio" name="AmountNeeded" value="100-500">$100 - $500<br>
<input type="radio" name="AmountNeeded" value="500-1000">$500 - $1000<br>
<input type="radio" name="AmountNeeded" value="1500-2000">$1500 - $2000<br>
<input type="radio" name="AmountNeeded" value="2500">$2500 or more <br>
Выход отображается как независимо от того, какая кнопка отмечена. 1011 *
<AmountNeeded>2500<AmountNeeded>
Чем это может быть вызвано?