以编程方式填写webview中的字段

时间:2016-05-08 10:30:23

标签: javascript java android webview

我试图将值插入到webview中加载的网页的字段中。

我正在做的事情就是这个 -

String date = "5/8/1994";
webview.loadUrl("javascript:var uselessvar_a =document.getElementById('dpStudentdob_dateInput').value='" + date + "';");

问题

  • 因此,假设将值插入到给定的字段中 ID。它给了我确切的结果,它插入到现场。但 按下提交按钮时,此数据显示错误 不正确。但是当我通过键入相同的值插入值时 接受。
  • 问题是将值插入到DOB字段中 网页。
  • 注册号字段工作正常,点击按钮也可以 在我的代码中工作正常。

网页正在加载this

我想在网页的日期DOB字段中输入日期。

我的完整java类是 -

public class MainActivity extends AppCompatActivity {

WebView webview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    webview = (WebView) findViewById(R.id.webView);

    webview.getSettings().setBuiltInZoomControls(true);
    webview.getSettings().setDisplayZoomControls(false);

    webview.getSettings().setUseWideViewPort(true);
    webview.getSettings().setLoadWithOverviewMode(true);

    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebChromeClient(new WebChromeClient());

    webview.getSettings().setDomStorageEnabled(true);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            String password = "1201329022";
            String date = "5/8/1994";
            webview.loadUrl("javascript:var uselessvar =document.getElementById('txtRegNo').value='" + password + "';");
            webview.loadUrl("javascript:var uselessvar_a =document.getElementById('dpStudentdob_dateInput').value='" + date + "';");
            webview.loadUrl("javascript:var uselessvar_b =document.getElementById('btnView').click();");
        }
    });

    webview.loadUrl("http://bputexam.in/StudentSection/ResultPublished/StudentResult.aspx");
}

}

是否有任何人对此有任何建议。

1 个答案:

答案 0 :(得分:0)

要将文本插入Webview的输入文本字段中,您必须使用如下所示的javascript:

webView.loadUrl("javascript:(function(){l=document.getElementById('form1:txtDrname').value='" + editTextInput.getText().toString() + "';})()");

然后,您可以单击Web视图内的按钮以执行搜索:

webView.loadUrl("javascript:(function(){l=document.getElementById('form1:btnSubmit');e=document.createEvent('HTMLEvents');e.initEvent('click',true,true);l.dispatchEvent(e);})()");