javascript - 我如何在 android 中使用 javascript 将 Edittext 值放入 webview 中的文本字段

标签 javascript android webview

我想将用户在 Edittext 中输入的值放在通过 Webview 打开的网站的 textField 中

基本上我想做的是

-两个editText(用户和密码) 将值发送到 webview 文本字段然后自动点击登录

这是重写 onPageFinished 方法的代码

   @Override
    public void onPageFinished(WebView view, String url)
    {
        view.loadUrl("javascript:(function() { " +
                "document.getElementById('m_login_email').value ='emailfromAndroidEdittext'; " +
                "})()");

                view.loadUrl("javascript:(function() { " +
                "document.getElementById('m_login_password').value = 'passwordfromAndroidEdittext'; " +
                "})()");
        view.loadUrl("javascript:(function() { " +
                "document.getElementsByClassName('_54k8 _52jh _56bs _56b_ _28lf _56bw _56bu')[0].click();" +
                "})()");

那么我如何才能将 emailfromAndroidEdittext 和 passwordfromAndroidEdittext 更改为用户在应用程序的 Edittext 中输入的值?

我尝试了什么

   @Override
    public void onPageFinished(WebView view, String url)
    {
    String test="hi";
    view.loadUrl("javascript:(function() { " +
            "document.getElementById('m_login_email').value =test"; " +
            "})()");

                view.loadUrl("javascript:(function() { " +
                "document.getElementById('m_login_password').value = 'passwordfromAndroidEdittext'; " +
                "})()");
        view.loadUrl("javascript:(function() { " +
                "document.getElementsByClassName('_54k8 _52jh _56bs _56b_ _28lf _56bw _56bu')[0].click();" +
                "})()");

所以为了 javascript 读取值,它需要声明为 var 而不是 String

在 chrome 控制台上测试

var test="hi";
document.getElementById('m_login_email').value =test

有效,但它是 javascript 而不是 java,所以 var 将不起作用,如果我找到将字符串转换为 var 的解决方法,我无法将 edittext 值放入测试变量中

谢谢

最佳答案

在你的 onPageFinished 中试试这个(这只是电子邮件字段的例子):

String test="hi";  //Replace here the text from EditText

myWebView.loadUrl("javascript: (function(){document.getElementById('m_login_email').value ='" + test + "';})();");

关于javascript - 我如何在 android 中使用 javascript 将 Edittext 值放入 webview 中的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56813700/

相关文章:

android - Android 中的 iOS SegmentedControl 等效项

Android Activity 到 WebView 和 WebView 到 Activity 的参数传递

javascript - 无法从 $http.post 获取数据

javascript - 使用正则表达式查找文本文件中段落的开头和结尾

javascript - 什么是 JavaScript 的 CompositionEvent?请举例说明

android - Honeycomb webview 上的网页不可用

android - 在 Android 中从 HTML 生成位图

javascript - 获取不带 "id"属性的 td 的内容

android - 无法正常打开draw9patch.bat

java - 如何从静态方法引用 getTheme 非静态方法?