html代码
<html> <head> <title>提交重置事件</title> <script type="text/javascript"> /* 1 提交事件 onsubmit 1.1 是form的事件 1.2 onsubmit 必须写成 return 方法名 1.3 方法必须是有返回值的,而且返回值只能是true false */ function _onsubmit(){ var uname = document.getElementsByName("uname")[0].value; var uclass= document.getElementsByName("uclass")[0].value; if(uname == ''){ javascript:window.javaCode.toast("姓名或班级不能为空"); return false; }else{ javascript:window.javaCode.setinfo(uname,uclass); } return true; } </script> </head> <body> <form action="" method="" onsubmit="return _onsubmit()" > 姓名:<input type="text" name="uname" /><br/> 班级:<input type="text" name="uclass" /><br/> <input type="submit" value="提交" /> </form> </body> </html>java代码
public class MainActivity extends Activity { private WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); initWebView(); wv.loadUrl("file:///android_asset/jstest.html"); //参数一: 参数二:js提供对象名 wv.addJavascriptInterface(new Object(){ //提供方法供javascript 调用 // 对于4.0以后版本,添加注解 @android.webkit.JavascriptInterface public void toast(String str){ Toast.makeText(MainActivity.this,str,0).show(); } @android.webkit.JavascriptInterface public void setinfo(String uname,String uclass){ Toast.makeText(MainActivity.this,uname+":"+uclass,0).show(); } },"javaCode"); } //初始化控件 private void init() { wv=(WebView)findViewById(R.id.wv); } //初始化WebView private void initWebView() { //设置浏览器不跳转 wv.setWebChromeClient(new WebChromeClient()); WebSettings set = wv.getSettings(); //支持javascript set.setJavaScriptEnabled(true); } public void get(View view) { //调用javascript 里的函数 //javascript:_onsubmit() 固定格式 _onsubmit() 函数名 wv.loadUrl("javascript:_onsubmit()"); } }