質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

0回答

2079閲覧

WkWebViewでjavascriptを用いてaタグの活性・非活性を制御する方法(angular JS)

hirhir

総合スコア11

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0グッド

0クリップ

投稿2017/01/22 09:06

WkWebViewでjavascriptを用いてaタグの活性・非活性を制御する方法(angular JS)についてわからなくて困っています。
以下のような画面です。。

html

1<form class=“form-inline ng-dirty ng-valid-parse ng-invalid ng-invalid-required” name=“queryForm” ng-submit=“ifc.onclick()”) 2 <textarea class=“form-control ng-dirty ng-touched ng-valid-parse ng-invalid ng-invalid-required” required=“required” autofocus=“autofocus” rows=“3” ng-enter=“ifc.onclick()” ng-model=“ifc.query” ng-required=“true”></textarea> 3 <a class=“btn-question input-group-addon btn btn-default” href="#/" role="button" ng-click="ifc.onclick()" ng-disabled="queryForm.$invalid || ifc.error" disabled="disabled”></a> 4</form>

当方、AngularJSに関しては、完全に初心者でありますが、このaリンクをWkWebViewのevaluateJavaScriptを使用して、活性にしたいと意気込んでおります。textareaに文字入力した時の挙動を見ると、formタグとtextareタグのinvalidとなっている部分がvalidと変化し、aタグのdisabled属性がなくなっているようです。これを無理やり以下のようにネイティブ側から実現させようと以下のようなコードを書いてみましたがダメでした。。。

swift

1self.wkWebView!.evaluateJavaScript("document.getElementsByClassName('btn-question')[0].disabled=\"\"", completionHandler: nil) 2 self.wkWebView!.evaluateJavaScript("document.getElementsByName('queryForm')[0].className=\"form-inline ng-dirty ng-valid-parse ng-valid ng-valid-required\"" , completionHandler:nil) 3 self.wkWebView!.evaluateJavaScript("document.getElementsByClassName('ng-invalid-required')[1].className=\"form-control ng-dirty ng-touched ng-valid-parse ng-valid ng-valid-required\"" , completionHandler:nil)

どなたか、詳しい方、ご教授いただけますでしょうか。。。???

(angularJSのみ詳しい方の場合、こういったJSで実現できると教えて頂けると助かります。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問