我正在尝试打开新窗口并发送表单数据 使用 javascript 和 jquery-1.8.3 。但是,这并不令人担忧。
这是源代码。
<a href="#" onclick="printPage()">Print this</a>
<script type="text/javascript" src="/common/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function printPage(){
var form = $("<form method='post' action='/common/print.jsp' target='printWindow'></form>");
var input = $("<input type='hidden' name='view'/>");
input.val($("#ctn").html());
form.append(input);
var printWindow = window.open(form.attr("action"), "printWindow", "width=700px,height=800px");
form.submit();
}
</script>
窗口打开了。但request.getParameter("name")
为空。
以下是/common/print.jsp
页面
<%@ page contentType="text/html; charset=utf-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
<div id="ctn">
<%
out.print(request.getParameter("view"));
%>
</div>
此代码中的问题是什么?
答案 0 :(得分:1)
你是假装ajax电话; - )
最好你做这样的事情:
<a href="#" onclick="printPage()">Print this</a>
<script type="text/javascript" src="/common/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function printPage(){
$.post('/common/print.jsp', {view:$("#ctn").html()}).success(function(response){
var oWindow = window.open('', "printWindow", "width=700px,height=800px");
oWindow.document.write(response);
});
}
</script>