我有一个活动,我在其下面使用带有Android按钮的webview。我在webview中加载了一个web html表单。我没有在html表单中使用提交按钮,而是在页面中放置了以下简单的javascript函数:
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 :(得分:0)
令我尴尬的是我的头埋在沙里,而不是让自己知情; 它似乎是长期存在的Javascript - 文档对象方法 - 形式绑定方法:
document.form.submit();
,而不是支持jquery方法。
$("form").submit();
下载并放置后:
<script language="JavaScript" type="text/javascript" src="/xyz/js/jquery-1.7.min.js"></script>
我的html文档头部的文件引用; 我只是将语法更改为jquery方法:
function submitFrm() { $("listupdate").submit(); }
表格现在在Android 2.2及更高版本中提交。 Java代码中无需进行任何更改!