Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
Javascript 填写表单可以,但验证不接受字段内容_Javascript_Java_Android_Forms_Fill - Fatal编程技术网

Javascript 填写表单可以,但验证不接受字段内容

Javascript 填写表单可以,但验证不接受字段内容,javascript,java,android,forms,fill,Javascript,Java,Android,Forms,Fill,在下页: 下面几行填写了登录字段和密码字段,但当我手动或编程验证时,这些字段似乎没有填写 webView = (WebView) findViewById(R.id.travail_activity_webview); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setSupportZoom(true); webView.getSettings().setJa

在下页:

下面几行填写了登录字段和密码字段,但当我手动或编程验证时,这些字段似乎没有填写

    webView = (WebView) findViewById(R.id.travail_activity_webview);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
            if (!loadingFinished) {
                redirect = true;
            }
            loadingFinished = false;
            view.loadUrl(urlNewString);
            return true;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            loadingFinished = false;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            Log.e("Page finished", "url : " +url);
            if(!redirect){
                loadingFinished = true;
            }

            if(loadingFinished && !redirect){
                if (!connected) {
                    completionIdentifiants();
                    connected=true;
                } else if (!portailled){
                    accesPortail();
                    portailled=true;
                }


            } else{
                redirect = false;
            }
        }
    });

private void accesPortail() {
    webView.loadUrl("https://teleservices.ac-nancy-metz.fr/login/ct_logon_vk.jsp");
}



public void completionIdentifiants() {
    webView.loadUrl("javascript:var x = document.getElementById('user').value = 'mylogin';");
    webView.loadUrl("javascript:var y = document.getElementById('password').value = 'mypass';");
    webView.loadUrl("javascript:var z = window.document.getElementById('myform').submit();");
    webView.loadUrl("javascript:alert('Test')");
}
该字段以可视方式填写,但在提交后不会获取值。 他们的内容被删除了


我尝试了很多组合,但都没有成功。

这是关于你的shouldOverrideUrlLoading方法,请看一下这个Android文档:搜索shouldOverrideUrlLoading部分,你需要在这个方法中返回false

通过这行提交请求后,我签出了我的浏览器的请求,请求发送了密码:“mypass”和用户:“mylogin”作为参数。你的JS方面似乎还不错。也许是因为我的网络视图?因为即使我输入了错误登录,我也不会收到错误消息,而如果我在经典浏览器中输入错误消息,我会收到错误消息。当我直接在我的计算机的Chrome浏览器中输入这3行代码时,一切都按预期工作:授予访问权限,并且正在加载新页面。您是否提供与您的webview相关的代码片段?这条线行吗loadUrl(“javascript:alert('Test')”);也许这是因为您在“提交”之后插入了“警报”行,顺便说一句,您测试的SDK版本是什么?关于您的shouldOverrideUrlLoading方法,请查看此Android文档:并搜索shouldOverrideUrlLoading,似乎您需要在此方法中返回false。如果有帮助,请告诉我