JS提交表单,禁止弹出空白页面
这是JS方法: document.getElementById("docFrame").style.display="none";;var regform=document.getElementById('addForm');
regform.enctype="multipart/form-data";
regform.action='../public/uploadController.jsp?fpath='+fpath;
regform.target='docFrame';
regform.method="post";
regform.submit();
form的id为addForm
<iframe name="docframe" id="docframe" scrolling="no" style="display:none" frameborder="0" noresize="noresize"></iframe>
表单能正常提交也能正常上传文件,现在的问题是只要我提交表单就会弹出空白页面,请问高手怎么解决? --------------------编程问答-------------------- regform.target='docFrame';
是不是跟这段代码有关系! --------------------编程问答-------------------- 完整的HTML或者JSP贴出来吧。 --------------------编程问答-------------------- 这个,需要用ajax或者异步提交
jsp是不可能隐藏的 --------------------编程问答-------------------- 看不出问题所在。。 --------------------编程问答-------------------- ajax --------------------编程问答-------------------- 把你这一页的完整代码帖出来。 --------------------编程问答-------------------- regform.target='docFrame';
<iframe name="docframe" id="docframe"
F的大小写不一致............................ --------------------编程问答-------------------- 以前我也这么做过,事实上,用jsp无法隐藏这个空白页。只能用ajax的异步,楼主ajax的异步不难学,找个老师教下一个小时就会常用的了,完全符合你的要求。
我写个ajaxUtil.js工具类
var Ajax = {
createXHR:function(){
if(window.XMLHttpRequest){
var xhr = new XMLHttpRequest();
return xhr;
}else if(window.ActiveXObject){
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
return xhr;
}
},
sendRequest:function(method,url,data,callback){// callback代表函数名
var xhr = this.createXHR();
xhr.open(method,url,true);
if("GET"==method.toUpperCase()){
xhr.send(null);
}else if("POST"==method.toUpperCase()){
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(data);
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
//callback(xhr);可以这样
callback({text:xhr.responseText,xml:xhr.responseXML});// 也可以这样。这样最好,面向对象
}
}
},
};
在jsp中写js代码
<script type="text/javascript" src="路径/ajaxUtil.js" />
<script type="text/javascript">
Ajax.sendRequest("post","提交到目标的URL","username=张三&password=123456",callback);
function callback(cb){
// 这个函数是返回函数
var value = cb.text;//这个就是返回过来的数据
}
</script>
在Servlet类里
--------------------编程问答-------------------- 路过..
String username = request.getParamter("username");
String password = request.getParamter("password");
//一系列的代码
out.print("success");//记住是out.print()不是println()
//那么callback函数里的var value = cb.text;里的value="success";
补充:Java , Java EE