0

ユーザーが可変数の経費を入力できるフォームを作成しようとしています。経費の説明、経費が発生した州、経費タイプ、およびコストの 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では、選択フォームフィールドを作成しますが、ドロップダウンは空です。私が見逃している可能性があるものへの手がかりは、最も高く評価されます!

編集 - コードを要点にまとめました。ヒントをありがとう!:)

4

0 に答える 0