我有一个包含输入html的webview,如下所示:
<input type="file" name="upload" onChange="checkimg(this.value)"/>
和JavaScript函数与该组件
对应function checkimg(fName){
fullName=fName;
splitName = fullName.split(".");
fileType = splitName[1];
fileType = fileType.toLowerCase();
if (fileType == 'jpg'|| fileType == 'gif' || fileType == 'png' || fileType == 'jpeg' )
{}
else {
alert("Choose file with end : jpg, gif, png, jpeg");
}
}
现在我想在点击输入类型文件时获取事件。我该怎么办?
答案 0 :(得分:0)
最后一个HTML页面包含2个按钮:
<div>
<button type="button" id="ok"
style="font-weight: 700; margin-right: 20px;" onclick="validClick();">J'accepte</button>
<button type="button" id="no" onclick="refuseClick();">Je refuse</button>
</div>
我将clic的事件发送到HTML页面顶部的javascript:
<script language="javascript">
function validClick() {
valid.performClick();
document.getElementById("ok").value = "J'accepte";
}
function refuseClick(){
refuse.performClick();
document.getElementById("no").value = "Je refuse";
}
</script>
有效和拒绝是我通过javascript接口传递的两个java对象以使用它们的方法。所以在java中,我创建了2个按钮(实际上并没有显示在Activity中,只是在这里用于他们的方法,并且是HTML按钮的阴影:
valid = new Button(ctx);
valid.setOnClickListener(this);
refuse = new Button(ctx);
refuse.setOnClickListener(this);
然后我将javascript添加到我的WebView:
// Enablejavascript
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
//添加界面以记录javascript事件
wv.addJavascriptInterface(valid, "valid");
wv.addJavascriptInterface(refuse, "refuse");
最后,处理onClick方法中的click事件:
@Override
public void onClick(View v) {
if (v.equals(valid)) {
//do Something
} else if (v.equals(refuse)) {
//do Something else }
}
希望这会对你有所帮助。
由于