javascript - iOS UIWebView - 自动点击 FORM 按钮..如何实现?

标签 javascript ios uiwebview forms

我已成功将 JavaScript 注入(inject)到 UIWebView 中,并成功更改了我想要使用以下方法的文本字段中的值。现在我想自动单击 HTML 表单按钮,但没有成功,似乎按钮被禁用,直到它收到触摸事件,并且只有在第二个触摸事件时它才会提交 HTML 表单,这就是我注入(inject)的 JS 'click()' 方法不起作用的原因吗?我怎样才能让它发挥作用?

我使用的注入(inject)方法在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();"];

没有成功,任何人都可以给我一些关于这个问题的线索吗? 谢谢!

最佳答案

我无法告诉您为什么点击不起作用 - 尽管这很可能是 iOS 开发团队故意的安全限制 - 但可能还有另一种方法可以解决您的问题。

我的问题是你为什么要这样做。如果您想代表用户将表单数据提交到某处的服务器,为什么不直接使用 POST 请求将信息发送到服务器?当您收到响应时,您可以解析它并运行其他代码,也可以将 HTML 放入 UIWebView 中。我确信,它消除了您正在执行的所有 javascript hackery,并产生了令用户更加满意的结果。

关于javascript - iOS UIWebView - 自动点击 FORM 按钮..如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354823/

相关文章:

Javascript CommonJS - 模块在哪里?

javascript - WebSocket.ws.onmessage 处未捕获类型错误

ios - 快速显示数学

ios - XCode:UIWebView 邮件链接不工作?

c# - WatiN doubleclick 在 IE9 中不起作用

ios - skspritenode 颜色属性仅在第一个实例中设置

ios - 粉碎initWithFrame图片大小的高宽

objective-c - 如何在 UIScrollView 内的 UIWebView 上启用放大功能?

ios - Safari 与 UIWebView 字体大小差异

javascript - Crossrider "appAPI.message.toAllTabs"方法的消息发送顺序