Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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
Java WebView自动填写表单_Java_Android_Android Webview - Fatal编程技术网

Java WebView自动填写表单

Java WebView自动填写表单,java,android,android-webview,Java,Android,Android Webview,论坛上有很多关于我的问题的主题,但是所有的代码都不适用 有一个表格: <form name="forma1"> <input type="text" name="ulogin" size="20" maxlength="50" value="login"> </form> 代码2 String username = "cristian"; webview.loadUrl("javascript:document.getElementById('ulog

论坛上有很多关于我的问题的主题,但是所有的代码都不适用

有一个表格:

<form name="forma1">
 <input type="text" name="ulogin" size="20" maxlength="50" value="login">
</form>
代码2

  String username = "cristian";
webview.loadUrl("javascript:document.getElementById('ulogin').value = '"+username+"';");
代码3

webView.loadUrl("javascript: {" +
            "document.getElementById('ulogin').value = '"+uname +"';" +
            "var frms = document.getElementsByName('forma1');" +
            "frms[0].submit(); };");

但是当页面打开,但表单没有填写时,有什么问题吗?

我有两个建议:

  • 检查HTML-需要将输入元素的
    id
    属性设置为
    ulogin

  • 一般来说,我认为用于此操作的
    onPageFinished
    回调是错误的。这意味着网络资源已完成加载,而不是DOM元素已加载。因此,当代码运行时,
    ulogin
    元素可能还不存在。
    您是否可以尝试在HTML文档的
    onload
    事件的JavaScript接口回调[1]中运行脚本


  • [1] ,java.lang.String)

    如果要向表单id添加内容,title ulogin尝试过,也不起作用。好的,在这种情况下,我怀疑您遇到了我在第2期中描述的问题。你能试试我的建议吗?你能试着从HTML文档的onload事件在JavaScript接口回调[1]中运行你的脚本吗?怎么做?如果没有onPageFinished,则无法运行。请使用将运行WebView.loadUrl()调用的方法在Java中定义一个新类。在执行其他与WebView相关的设置时,使用该类的实例调用WebView.addJavaScriptInterface。现在在您的网页中,注册一个调用window.myJSInterface.myMethod()的onload侦听器。其中myJSInterface是您在调用addJavaScriptInterface时设置的接口的名称,myMethod是您要调用的Java方法的名称。对不起,我对Java了解不多,可以为我写一个示例来理解您的意思吗?这个问题仍然相关((好的,只是检查一下-您在WebView中启用了JavaScript吗?默认情况下它是关闭的。请参阅WebView=(WebView)findViewById(R.id.webView1);WebView.setWebViewClient(new WebViewClient());WebView.getSettings().setJavaScriptEnabled(true);WebView.loadUrl(“);
    webView.loadUrl("javascript: {" +
                "document.getElementById('ulogin').value = '"+uname +"';" +
                "var frms = document.getElementsByName('forma1');" +
                "frms[0].submit(); };");