【问题标题】:Android: How to programmatically submit a form created as html string?Android:如何以编程方式提交创建为 html 字符串的表单?
【发布时间】:2016-03-17 14:14:16
【问题描述】:

请帮助我在加载此html 后如何调用提交操作。

WebView webView = (WebView) findViewById(R.id.webview);        
String formData = "<!DOCTYPE html>\n" +
            "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
            "<head>\n" +
            "<title>SSO OutBound Settings</title>" +
            "</head>\n" +
            "<body>" +
            "<form name='frmMain' id=\"frmMain\" runat='server' method='POST'" +
            "action='" + ---data--- + "'>" +
            "<input type='hidden' name='" + ---data--- + "'" +
            "value='" + ---data--- + "'/>" +
            "<input type='hidden' runat='server' name='" + ---data--- + "' " +
            "value='" + ---data--- + "'/>" +
            "</form>" +
            "</body>\n" +
            "</html>";
webView.loadData(formData, "text/html", "UTF-8");

【问题讨论】:

  • 您想立即提交表单,无需任何用户交互?
  • 是的,应该不会发生任何用户交互。
  • @DineshKumar 如果你得到解决方案,请告诉我我也有同样的问题

标签: android html webview


【解决方案1】:

我认为您需要在 javascript 中执行此操作。因此必须为您的网络视图启用它:

webView.getSettings().setJavaScriptEnabled(true);

提交表单应该是这样的:

webView.loadUrl("javascript:document.frmMain.submit()");

【讨论】:

    【解决方案2】:

    您可以为此使用 http 客户端 - Android HttpURLConnectionApache httpclientVolley 等。 这个想法是将带有表单数据的 http POST 发送到所需的资源。 见Sending POST data in Android

    【讨论】:

      猜你喜欢
      • 2013-12-06
      • 2020-10-03
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2021-08-29
      相关资源
      最近更新 更多