2017-02-16 4 views
1

JavaScriptを使用してiFrameのフォームに値を設定しています。 iframeに表示されるページにアクセスできません。私のJavascriptページは同じサーバー上にあるため、表示されているフォームにアクセスできます。正常に設定javascriptを使用してフォーム要素の値を設定 - 必要なプロンプトがまだ表示されます

var frameNode = document.getElementById('frm1'); 
var fieldNode = frameNode.contentDocument.getElementById('Forename'); 
fieldNode.value = FirstName; //previously defined 

値(添付のIMGを参照)

//HTML of Forename field in form control 
<input class="form-control" id="Forename" type="text" data-bind="value: dto.Forename"> 

Javascriptが値を設定します。しかし、私がSAVEを打つと、私はまだ '値が必要です'というメッセージが表示されます。これは、Knockoutビューモデルとの値をバインドするJavascriptライブラリーがキー入力を必要とするためです。

私が手動でフォームに入り、各値の後にEnter/Tabを押しても、私はまだメッセージを受け取ります。 Forenameと姓を手作業で変更して保存が成功したときだけです。

これまで誰かがこれまで何かしたことはありますか?おかげ

In this image you can see the values are set

答えて

0

は、私はあなたが経験している問題は、実際に結合ノックアウトの使用に関連深い問題が原因であると考えています。 realの値がjavascriptのview-modelオブジェクトに格納されているため、UIコントロールの値を直接更新することは効果がありません。 DOM要素はその値だけを反映し、更新はフードの下のchangeイベントフックを使用して実行されます。 UIで値を手動で変更すると、変更イベントがトリガーされ、ビューモデルの値が更新されます。

Knockout.js Docs

ので、適切にあなたが基になるデータを更新するためにノックアウトライブラリを使用してみてください値更新するには:

​​

あなたはそれが仕事を得ることができない場合は、また、トリガー、手動で試すことができますが変更イベント。あなたがjQueryを持っていればそれははるかに簡単ですが、まだ実行できません。 How can I trigger an onchange event manually?

関連する問題