![](/img/trans.png)
[英]Retrieve value from query string and send it in a form as HIDDEN VALUE - javascript
[英]retrieve query string from javascript
请有人帮我..我已经进行了有关如何使用Java脚本检索查询字符串的研究,但似乎并不成功。 当用户单击放置在网格视图中的按钮时,我需要打开表单(不同的Web表单)的窗口打印视图。 网格视图中的每一行都有其自己的打印按钮,因为它具有不同的id,因为表单数据是从id(数据库中的主键,引用行程ID)中检索的。下面是我的Java脚本代码。打印窗口可以打开,但是表单数据无法检索。
<script type="text/javascript">
function printExternal() {
var data='<%=this.Request.QueryString["tripid"]%>';
var printWindow = window.open('PrintBusinessTrip.aspx?tripid=' + data, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
printWindow.addEventListener('load', function () {
printWindow.print();
printWindow.close();
}, true);
}
</script>
这是按钮
<asp:Button ID="sendbtn" runat="server" OnClientClick="printExternal();" PostBackUrl='<%#"~/PrintBusinessTrip.aspx?tripid="+Eval("tripid")%>' Text="Print" />
只有当我像这样对id进行硬编码时,它才会成功,
var printWindow = window.open('PrintBusinessTrip.aspx?tripid=102' + data, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
我真的很感谢任何帮助..因为我是Java脚本和asp.net的新手。 对不起我的英语不好。
问题出在printExternal
Javascript函数中。 您不应该使用查询字符串来获取tripid
,因为对于表的每一行它都不会改变。
取而代之的是,您可以从每个按钮传递tripid
作为printExternal
函数的参数。
<asp:Button ID="sendbtn" runat="server" OnClientClick='<%# Eval("tripid", "printExternal({0})") %>' Text="Print" />
或简单地
<button type="button" onclick="printExternal(<%# Eval("tripid") %>);">Print</button>
Javascript函数应如下所示:
function printExternal(tripid) {
var printWindow = window.open('PrintBusinessTrip.aspx?tripid=' + tripid, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
printWindow.addEventListener('load', function () {
printWindow.print();
printWindow.close();
}, true);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.