如何在Android上使用Javascript填写表单?

时间:2015-10-27 21:47:03

标签: javascript android forms webview

好吧,所以我正在开发一个可以填写表格的应用程序。我不知道如何做到这一点,除了我需要使用Javascript的事实。此代码加载网页,但不向表单输入任何值。

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

        WebView myWebview = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = myWebview.getSettings();
        webSettings.setJavaScriptEnabled(true);

        myWebview.setWebViewClient(new WebViewClient() {


            public void onPageFinished(WebView view, String url) {
                WebView myWebview = (WebView) findViewById(R.id.webview);

                //hide loading image
                findViewById(R.id.progress).setVisibility(View.GONE);
                //show WebView
                findViewById(R.id.webview).setVisibility(View.VISIBLE);

            }
        });
        myWebview.loadUrl("https://www.panerabread.com/en-us/mypanera/registration-page.html");
        myWebview.loadUrl("javascript:document.getElementById(\"join_first_name\").value=\"Hello World\";");
    }

以下是我的第二堂课。不知道这是做什么的,我从文档中得到了它。

    public class WebAppInterface {
        Context mContext;

        /** Instantiate the interface and set the context */
        WebAppInterface(Context c) {
            mContext = c;
        }

    }

1 个答案:

答案 0 :(得分:1)

尝试将loadUrl(“javascript ...”)放入onPageFinished监听器。您在加载页面之前调用它。