2015-11-17 2 views
1

Я разрабатываю приложение для Android и хочу заполнить форму в WebView автоматически с помощью JavaScript.Android WebView очищает контент ond form fill

final WebView webView = (WebView) findViewById(R.id.MyWebView); 
webView.getSettings().setJavaScriptEnabled(true); 

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) { 
     webView.loadUrl("javascript:document.getElementById('tbBenutzer').value = 'myUser';"); 
     webView.loadUrl("javascript:document.getElementById('tbKennwort').value = 'myPwd';"); 
     webView.loadUrl("javascript:document.getElementById('form1').submit();"); 
    } 
}); 
webView.loadUrl(my_url); 

Веб-сайт нагрузки хорошо, и я могу видеть его в течение короткого времени, но вместо того, чтобы заполнить Input, он заменяет все содержимое WebView с моим именем. Больше ничего не осталось.

ответ

0

Я не знаю почему, но после некоторых исследований выяснилось, что если я поместил весь свой код JavaScript в function, он будет работать.

final WebView webView = (WebView) findViewById(R.id.MyWebView); 
webView.getSettings().setJavaScriptEnabled(true); 

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) { 
     webView.loadUrl("javascript:(function() {document.getElementById('tbBenutzer').value='myUser';})();"); 
     webView.loadUrl("javascript:(function() {document.getElementById('tbKennwort').value='myPwd';})();"); 
     webView.loadUrl("javascript:(function() {document.getElementById('form1').submit();})();"); 
    } 
}); 
webView.loadUrl(my_url);