2016-07-09 9 views
0

テーブルからレコードを編集するための3つのテキスト入力フォームがあります。すべてのレコードの3つのフィールドの値は、JavaScript配列に格納されています。私は、テーブル内のすべてのレコードの名前フィールドを表示するSELECTを持っています。 OPTIONを選択すると、javascriptは、ユーザーが編集できるように、3つのフォームフィールドの「値」をそのレコードの値に設定します.3つのINPUTは同じDIVコンテナに含まれ、3つのINPUTの属性はidsと名前)。フォームフィールドの値を設定しても表示されません

JavaScriptが実行された後、最初のフィールドには割り当てられた値が表示されますが、他の2つは引き続きプレースホルダを表示します。私は、開発者ツールでDOMの値を変更するのを見ることができますが、フォームのフィールドには何も表示されません。私はDOMが期待どおりに変化しているので、私のコードはINPUT値を入力していると仮定しています。

フォームのフィールドの順序を変更しようとしましたが、3つのフィールドすべてがその値を表示することができませんでしたが、DOMはまだ値を持つ要素を表示しています。フィールドオーダーを元の状態に戻すことは役に立たなかった。

ChromeとFireFoxの動作は同じです。

 document.getElementById("accountname").innerHTML   = selectedname 
    document.getElementById("accountdescription").innerHTML = jdescriptions[jnames.indexOf(selectedname)] 
    document.getElementById("accountcode").innerHTML   = jcodes[jnames.indexOf(selectedname)] 

This screendump image shows how the FORM and the DOM are different

率直に言って、私は困惑。任意のアイデアを高く評価

+0

あなたを助けるためにもっとコードサンプルが必要です! –

答えて

2

input要素のvalue属性を設定する必要があります。inputタグ間に何も書き込まないため、innerHTMLは使用できません。 入力タグのinnerHTMLを設定しているため、スクリーンショットに別のアカウント<input></input>が表示されていますが、これは入力要素に表示される値ではありません。 プロパティinnerHTMLは、Divなどの要素に使用されます。

document.getElementById("accountname").value = selectedname; 
+0

ありがとう、私は自分自身に気づいた。それはすべて今働いている。なんと時を過ごすのか。 – Nikkorian

+0

ようこそ@Nikkorian、時々起こる – Deep

0

私はもちろんです。 .innerHTMLではなく、.valueに値を割り当てる必要があります。 すべてソートされています。

関連する問題