在AJAX响应中无法获得HTML选择的值
我的代码有两个步骤。首先用户填写一些字段,然后数据由ajax提交给服务器。 Ajax返回一个HTML选择输入,用户必须选择一个值。这是第二步。在AJAX响应中无法获得HTML选择的值
问题是,当我尝试在javascript中获取select的值时,它显示为null。
我用来获取选择值的代码在正常情况下工作。但是,当通过ajax检索select时,会发生此问题。
代码来获得选择值
var e = document.getElementById("ordernum");
var num = e.options[e.selectedIndex].value;
这里是展示如何动态地生成一个select元素,并通过event.target.value从中获得价值重新站了onchange事件为例HTML文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
const GameDifficulty = {
EASY:1,
MEDIUM:2,
HARD:3,
INSANE:4
};
function init(event) {
console.log(event);
var body = document.getElementById('body');
var select = document.createElement('select');
select.id = 'selDifficulty';
for (var diff in GameDifficulty) {
var option = document.createElement('option');
option.value = GameDifficulty[diff];
option.innerHTML = diff;
select.appendChild(option);
}
select.onchange = test;
body.appendChild(select);
console.log(body);
}
function test(event) {
console.log(event.target.value);
}
window.onload = init;
</script>
</head>
<body id="body">
</body>
</html>
我编辑了代码。没有工作。我在post中写的代码是我经常用来在JS中获得选择值的代码。除了这个时间以外,它一直都是有效的。 –
您可以使用该代码获取单个选项,但是,这不是访问表单提交的选择值的正确方法。您需要从选择本身而不是选项值中获取值。 – ManoDestra
我不想在第二步中提交表单。我只想获得用户选择的值。 –
用ajax发布完整的代码,你是如何将它附加到dom的 –
'问题是,当我尝试在javascript中获得select的值时,它显示为null.' briosheje
伙计们,ajax没有问题。它会返回一些包含select的HTML代码,因为它应该是。返回的HTML将被放入具有innerHTML函数的某个div中(这里是select出现的时候)。整个代码很复杂,但如果你认为它可以帮助,我会发布它。 –