2010-12-04 23 views
0

我已經成功地將JavaScript注入到我的UIWebView中,併成功更改了我想要使用下面的方法的文本字段中的值。現在我想自動化HTML表單按鈕的點擊,但沒有成功,似乎該按鈕被禁用,直到它收到一個觸摸事件,並且只有第二個觸摸事件纔會提交HTML表單,這就是爲什麼JS 'click()'方法我注入不起作用?我怎樣才能使它工作?iOS UIWebView - 在FORM按鈕上自動點擊()。如何?

注入我使用的方法是在this page

描述我用這個:[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('ctl00_SPWebPartManager1_g_cb264700_1517_426f_926d_3ca40934a6fd_ctl00_EditModePanel1_btnLogin.click();');"];

而且也:

[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

我只想說,三年後的今天我有同樣的問題。 – Morkrom 2013-04-29 21:27:24

回答

1

我不能告訴你爲什麼點擊不起作用 - 儘管它可能很容易成爲iOS開發團隊有意的安全限制 - 但可能有另一種方法可以解決您的問題。

我的問題是你爲什麼這樣做。如果你想代表用戶提交表單數據到某個服務器,爲什麼不只是使用POST請求直接發送信息到服務器?當你得到響應時,你可以解析它並運行一些其他代碼,或者你可以將HTML引入UIWebView。它消除了你正在做的所有JavaScript hackery,併產生了一個結果,這對用戶來說會更加令人愉快,我敢肯定。

+1

是的,我第一次嘗試去使用POST請求,但它並沒有像我期望的那麼向前,我想盡快解決這個問題,我會嘗試發送觸摸事件來解決此問題,而我不會如何發送一個正確的POST ...順便說一句,我已經問過關於POST問題的幫助之前(http://stackoverflow.com/questions/4298456/http-post-request-html-form-input-login-user-密碼瀏覽器模擬)如果你能給我一些關於這個問題的指針,我將非常感激! :p我認爲該網站使用ASP.NET,它會產​​生一些令人討厭的html/javascript ...:\ – lm2s 2010-12-05 04:42:31

相關問題