オプション要素を JavaScript で動的に作成しました。1 つの選択フィールドからオプションをダブルクリックして、それを 2 番目の無効な複数選択フィールドに転送します。これはうまくいきます。新しい情報を含むフォームを送信しようとすると、問題が発生します。2 番目の選択フィールドは 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>