ユーザーが可変数の経費を入力できるフォームを作成しようとしています。経費の説明、経費が発生した州、経費タイプ、およびコストの 4 つのフィールドがあります。ユーザーは、[新しい経費を追加] ボタンをクリックして、これらのフィールドの別のセクションをページに追加します。4 つのフィールドのうち、説明 (入力タイプのテキスト)、タイプ (ラジオ ボタン)、コスト (テキスト) の 3 つが機能しています。ただし、状態はドロップダウンであり、データベースから状態を取得します。データベース接続は問題なく、PHP は関連する値を持つタグの文字列を作成します。
以下は JavaScript です。Firefox では問題なく動作しますが、ドロップダウンに何もない空の選択フィールドを作成するように見える IE では動作しないことに注意してください。
<script type="text/javascript">
var instance = 1;
function newExpense(element) {
instance++;
var state = document.createElement("SELECT");
var stateLabel = document.createElement("LABEL");
state.id = "expensestate" + instance;
state.name = "expnsestate" + instance;
state.innerHTML = "<?php echo $stateDropDown ?>";
stateLabel.setAttribute("for", state.id);
stateLabel.innerHTML = "State: ";
document.getElementById("expenses").appendChild(stateLabel);
document.getElementById("expenses").appendChild(state);
}
</script>
私が言ったように、これは Firefox で完全に動作するようです。有効な HTML が生成され、ドロップダウンが期待どおりに機能します。しかしIEでは、選択フォームフィールドを作成しますが、ドロップダウンは空です。私が見逃している可能性があるものへの手がかりは、最も高く評価されます!
編集 - コードを要点にまとめました。ヒントをありがとう!:)