Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iOS UIWebView-自动在窗体按钮上单击()。。怎么用?_Javascript_Ios_Uiwebview_Forms - Fatal编程技术网

Javascript iOS UIWebView-自动在窗体按钮上单击()。。怎么用?

Javascript iOS UIWebView-自动在窗体按钮上单击()。。怎么用?,javascript,ios,uiwebview,forms,Javascript,Ios,Uiwebview,Forms,我已经成功地将javascript注入到我的UIWebView中,并成功地使用下面的方法更改了文本字段中的值。现在我想自动单击HTML表单按钮,但没有成功,在收到触摸事件之前,按钮似乎一直处于禁用状态,只有在第二次触摸事件时,它才会提交HTML表单,这就是我注入的JS“click()”方法无法工作的原因吗?我怎样才能让它工作 我使用的注射方法如中所述 我使用过:[webView stringByEvaluatingJavaScriptFromString:@“document.getElemen

我已经成功地将javascript注入到我的UIWebView中,并成功地使用下面的方法更改了文本字段中的值。现在我想自动单击HTML表单按钮,但没有成功,在收到触摸事件之前,按钮似乎一直处于禁用状态,只有在第二次触摸事件时,它才会提交HTML表单,这就是我注入的JS“click()”方法无法工作的原因吗?我怎样才能让它工作

我使用的注射方法如中所述

我使用过:
[webView stringByEvaluatingJavaScriptFromString:@“document.getElementById('ctl00_SPWebPartManager1_g_CB26470; u 1517_426f_926d_3CA40934; A6FD_ctl00_编辑模式面板1_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黑客行为,并产生了一个用户更满意的结果,我确信。

是的,我第一次尝试使用POST请求,但它并没有我预期的那么快,我想尽快解决这个问题,我将尝试发送一个触摸事件来解决这个问题,而我不知道如何发送正确的帖子。。。顺便说一句,我之前曾就帖子问题寻求过帮助(),如果你能就这个问题给我一些建议,我将不胜感激!:p我认为该网站使用ASP.NET并生成了一些令人讨厌的html/javascript…:\我用最有可能的罪犯回答了。它应该可以解决你的问题。有时你有会话和cookie之类的东西,但你无法访问web服务器。但是您需要在页面上扩展一个简单的功能。所以这是一个方便的方法。我只是想说,三年后的今天,我有同样的问题。