2016-04-04 7 views
0

Angular JSで構築されたサイトで初めて作業しています。私は第三者のマーケティング用javascriptタグを書いています。これは、HTMLの最後の要素として、そのサイトにマーチャントがロードします。 JSタグは、単に商店街の要素を探してデータを取得するか、ディスカウントコードフォームを管理します。サードパーティ製の生のjavascriptからのAngular JS要素の制御

私は本質的に、私は外部にロードされたJSタグが自動的に値引きコード入力フィールドの値を設定し、フォームの隣にあるボタンをクリックするようにしたいと思います。これは、販売者のWebページの割引コード要素のHTMLです。

<div ng-if="BasketViewModel.ShowDiscountBox == true" class="ng-scope"> 
    <input class="form-control ng-pristine ng-invalid ng-invalid-required ng-touched" id="discountcode" ng-model="BasketViewModel.DiscountCode" type="text" ng-enter="applyDiscount(BasketViewModel.DiscountCode)" required=""> 
    <button id="addcode" class="btn btn-default ng-binding" type="button" ng-click="applyDiscount(BasketViewModel.DiscountCode)">Go!</button> 
      </div> 

私のJavaScriptでは、

document.getElementById('discountcode').value = '10OFF'; 
document.getElementById('addcode').click(); 

値 '10OFF'がボタンクリックのハンドラに渡されていないようです。コードを送信するAjaxリクエスト(私には見えません)は、これにもかかわらず、入力された値として 'null'を渡します。

コードをプログラムで入力して、Angular JS以外のユーザーに送信する方法はありますか?

助けてください - 私はバックエンドの開発者であり、Angularについての知識はありませんが、クライアントをオンボードにするためにこれを整理する必要があります。

答えて

0

IMHO Angular/Non-Angular interopの複雑さと、Angularのさまざまなバージョンでそうする課題を考えると、あなたは敗戦戦いに挑戦しています。いずれにせよ、この議論をよくお読み:

https://stackoverflow.com/a/10508731/559095

あなたがangular.elementを呼び出す(のdocument.getElementById ...)と、それは(スコープだ得ることができるにもかかわらず)アンギュラバージョン1.3の角度デバッグが必要になりますよりも低いです販売者が有効にすることができ、生産中に有効にしていない可能性があります。

今でも動作しても、Angular> = 1.3にアップグレードするとどうなりますか?

関連する問題