2010-12-04 10 views
0

私は正常に私のUIWebViewにjavascriptを注入し、正常に私が下のメソッドを使用したいテキストフィールドの値を変更しました。ここでは、HTMLフォームボタンでクリックを自動化したいが、成功しない場合は、タッチイベントを受信して​​2回目のタッチイベントでのみHTMLフォームを送信するまでボタンが無効になっているようだ。 'クリック()'メソッドを注入すると機能しません。どうすればそれを動作させることができますか? [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('ctl00_SPWebPartManager1_g_cb264700_1517_426f_926d_3ca40934a6fd_ctl00_EditModePanel1_btnLogin.click();');"];iOS UIWebView - フォームボタンのクリック()を自動化する..どのように?

も:私が使用して注入する方法がthis page

に記述されている

私はこの使用していたノー成功を収めて

[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');" 
"script.type = 'text/javascript';" 
"script.text = \"function x_LogBtn() { " 
"var field = document.getElementById('ctl00_SPWebPartManager1_g_cb264700_1517_426f_926d_3ca40934a6fd_ctl00_EditModePanel1_btnLogin');" 
"field.click();" 
"}\";" 
"document.getElementsByTagName('head')[0].appendChild(script);"]; 
[webView stringByEvaluatingJavaScriptFromString:@"x_LogBtn();"]; 

を、誰もが上の私にいくつかの光を与えることができます件名? ありがとう!

+0

私は今日、同じ質問が3年後にあると言いたいと思います。 – Morkrom

答えて

1

なぜクリックがうまくいかないのかはわかりませんが、iOSデベロッパーチームの意図的なセキュリティ制限になる可能性はありますが、問題を解決する別の方法があるかもしれません。

私の質問はあなたがこのようにしている理由です。ユーザーに代わってフォームデータをサーバーに送信したい場合は、はサーバーへのPOST要求を使用して直接情報を送信しないでください。?応答を受け取ったら、それを解析して他のコードを実行するか、HTMLをUIWebViewにスローすることができます。それは、あなたがやっているJavaScriptのハッピーをすべて取り除いて、結果を作り出してくれます。これはユーザーにとってもっと楽しいものです。

+1

はい、私は最初にPOSTリクエストを実行しようとしましたが、期待通りに進んでいなかったので、すぐにこれを解決したいと考えていますが、この問題を回避するためにタッチイベントを送信しようとします正しいPOSTを送信する方法... Btw、私は前にPOSTの問題についての助けを求めました(http://stackoverflow.com/questions/4298456/http-post-request-html-form-input-login-user-パスワードブラウザのシミュレーション)私が主題にいくつかのポインタを与えることができる場合は、私は最も感謝されます! :p私は、ウェブサイトがASP.NETを使用していると思ういくつかの厄介なhtml/javascriptを生成する...:\ – lm2s

+0

私はその可能性の高い原因で答えた。あなたの問題を解決するはずです。 –

+0

セッションやCookieなどの機能があり、Webサーバーにアクセスできない場合があります。しかし、ページ上で単純な機能を拡張する必要があります。これは手軽に行く方法です。 – carbonr

関連する問題