javascript - 填写表格正常,但验证不采用字段内容

标签 javascript java android forms fill

在下一页: https://teleservices.ac-nancy-metz.fr/login/ct_logon_vk.jsp

通过以下几行,登录字段和密码字段已填写,但是当我手动或以编程方式验证时,这些字段似乎未填写

    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')");
}

该字段以可视方式填写,但提交后不会获取该值。 他们的内容刚刚被删除...

我尝试了很多组合,但没有成功。 enter image description here

最佳答案

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

关于javascript - 填写表格正常,但验证不采用字段内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521431/

相关文章:

javascript - 如何过渡到 404 "catch-all"样式路由?

javascript - 从javascript中的对象方法获取变量

javascript - 单击链接时页面淡出,mailto : links 除外

java - 将值从 jframe 传递到另一个 jframe

java - Morphia 在保存基本实体时抛出内部异常

android - SQLite读取所有数据操作

android - 小部件中的ListView不更新

javascript - 将对象转为数组,将对象添加为新元素

java - Swing 组件不可见

android - 为每个 Build Variant 使用不同的 manifestPlaceholder