我已经使用 javascript 动态创建了选项元素。我从一个选择字段中双击一个选项,将其转移到第二个禁用的多选字段。这工作正常。当我使用新信息提交表单时出现问题。第二个选择字段不传递给 PHP。我假设它认为它是空的,但我添加的每个选项都是默认选择的,我可以直观地看到它们。我一直在寻找解决此问题的方法,但运气不佳。我能找到的一切都表明最有可能是浏览器不兼容或者元素没有被添加到表单中。如果是浏览器不兼容问题,我在所有主流浏览器上都试过了,结果都一样,所以我想知道我缺少哪一个(FF、Chrome、IE)。至于不被添加到表单中,我不明白这怎么可能。select 元素已经存在于表单中,我只是在其中添加新选项。我错过了什么,还是这不可能?
<script type="text/javascript" language="JavaScript">
function addModule(value, title) {
modules = document.getElementById('modules');
modules.options[modules.options.length] = new Option(title, value, true);
}
</script>
<form name="addModules" method="POST" action="submit.php">
<select name="moduleList" size="20" ondblclick="addModule(this.options[this.selectedIndex].text, this.value);">
<?php //dynamically created options from PHP ?>
</select>
<select id="modules" name="modules[]" multiple="multiple" size="20" DISABLED></select>
<input type="submit" value="Add Modules" />
</form>