2011-12-02 18 views
0

我有一個活動,我使用webview與它下面的一個android按鈕。我在webview中加載了一個web html表單。相反,在HTML表單有一個提交按鈕,我已經把下面簡單的JavaScript函數在頁面:Android的Javascript表單提交工作2.1更新1,但不是2.2和更高

function submitFrm() { document.listupdate.submit(); }

在我的活動一個Android按鈕觸發JavaScript和表單提交。像Android 2.1-update1中的魅力一樣工作,但不能在2.2或更高版本上運行。就像我說的這已經在Android 2.1-update1上工作。任何人都可以讓我瞭解爲什麼,以及我需要實施哪些更改?

upDtListingtBtn.setOnClickListener(new Button.OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
    webView = (WebView) findViewById(R.id.listinginfowebview); 
    **webView.loadUrl("javascript:submitFrm()");** 
    progressDialog = ProgressDialog.show(ListingInfoActivity.this, "", "Updating..."); 
    new Thread() { 
    public void run() { 
    try{ 
    sleep(2000); 
    } catch (Exception e) { 
    } 
    progressDialog.dismiss(); 
    } 
    }.start(); 
}}); 

並且是javascript已啓用 - 它在2.1update1中可用!

webView.getSettings().setJavaScriptEnabled(true); 

其他的代碼塊,你可以看到只是運行一個虛擬的progressDailog。

回答

0

這讓我感到尷尬,因爲我的頭在沙灘上,並沒有讓自己知道; 它會出現在長期使用Javascript - 文檔對象方法 - 結合的形式方法:

document.form.submit();

沒有在Android的WebView支持支持jQuery的方法後偏愛2.1 UPDATE1。

$("form").submit();

因此下載和放置後:

在我的HTML文檔的頭部

<script language="JavaScript" type="text/javascript" src="/xyz/js/jquery-1.7.min.js"></script>

文件的參考; 我簡單地改變的語法jquery的方法:

function submitFrm() { $("listupdate").submit(); }

的形式現在提交在Android 2.2以上。 Java代碼中沒有必要進行更改!

相關問題