InstagramのはReactLinkからlinkState
方法使用している:あなたはドキュメントを見れば
o.createElement("input", {
className:"lfFieldInput",
type:"text",
name:"username",
maxLength:30,
autoCapitalize:!1,
autoCorrect:!1,
valueLink:this.linkState("username")
}))
:
http://facebook.github.io/react/docs/two-way-binding-helpers.html
bundles/Login.js
へのログインページへのリンク、このような圧縮されたコードが含まれていますReactLinkでは、入力フィールドでchangeイベントが発生した場合にのみ、入力フィールド値が状態に戻されることを意味します。しかし、問題のノードで変更イベントを発生させるだけでは簡単ではありません - Reactがブラウザイベントを正常化する方法のためだと思います。アドオンと反応を使用しているあなたのケースのInstagramで幸い
http://facebook.github.io/react/docs/dom-differences.html
あなたが反応するようにアクセスすることができますどの含ま:ザ・は特異的に反応中のonChangeは、様々な理由のために、ブラウザでのonChangeとまったく同じではないことを言うのドキュメントが反応しますTestUtils、あなたが行うことができますので:ここ
var frm = window.frames[1].document.forms[0];
var fReact = window.frames[1].React;
fReact.addons.TestUtils.Simulate.change(frm.elements[0], {target: {value: 'qacitester' }});
fReact.addons.TestUtils.Simulate.change(frm.elements[1], {target: {value: 'qatester' }});
frm.elements[2].click();
その他のドキュメント:
http://facebook.github.io/react/docs/test-utils.html
ログインフォーム自体がiframe内にあるので、はで、そのiframeからのReactのインスタンスを使用する必要があります。そうしないと、TestUtilsはノードを正しく見つけることができません。
は、リアクションアドオンがページに含まれている状況で機能します。 Reactの通常の非アドオンビルドには別の解決策が必要です。しかし、ReactLinkについて具体的に話しているのなら、それはとにかくアドオンだから問題ではありません。自分の質問に答える
私は他の回答にコメントしているように、私は実質的にすべての発火jquery.autotypeを使用していました必要なイベントを作成し、ユーザーが文字を入力する動作をシミュレートしようとしますが、それでも動作させることはできません。私はJSコードでしか制御できないサードパーティのクロムラッパーを自動化しているので、JSのコンテキストでこの問題を解決する必要があります。 – huseyint
@huseyintので、フォームはiFrameに表示されます。私はフォームを正常に提出することができた非常にハックなハックでコードを更新しました。あなたはプログラマチックにしたいことを達成できないでしょう:) –
笑、努力のおかげさまですが、私は純粋なJSソリューションを探しています:) – huseyint