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