2009-12-26 21 views
0

如何在脚本标记中获取Request.Form如何获取脚本标记中的Request.Form?

<script language="javascript" type="text/javascript"> 
    var sLandingPage = ""; 
    var sInitContent = "" + Request.Form("textarea") + ""; 
    var sInitDialogMsg = ""; 
</script> 
+0

你为什么要request.form?如果它访问某个DOM元素的某个值,那么只需通过它的id或标记访问它。谢谢 – 2009-12-26 20:28:05

+0

我从页面A提交一个值到页面B – 2009-12-26 20:30:43

+0

Request.Form ASP的气味。这是一个客户端JavaScript问题,还是一个ASP(经典或.NET?)JScript问题? – Quentin 2009-12-26 20:42:28

回答

1

的Javascript运行在客户端,所以如果你想要得到的文本区域的价值发表您的页面之前,服务,使用这样的:

var sInitContent = document.getElementById("textarea"); 

,但如果你希望得到您的textarea的贴值,(我假设你使用的ASP或asp.net)试试这个:

var sInitContent = '<%= Request.Form("textarea")%>'; 
+0

Thanks Canavar - 这实际上是我正在寻找的解决方案 - 我无法弄清楚为什么我的工作不正常,因为我已经使用过一千次 - 我正在请求一个不存在的值... Request.Form (“textarea1”)而不是textarea!谢谢 – 2009-12-26 20:40:50

+0

注入JavaScript的文本必须适当地转义,否则你有一个跨站点脚本安全漏洞。 – bobince 2009-12-26 22:20:49

1

您无法在javascript中执行request.form。但是,如果您通过get发布表单,则可以从查询字符串中获取内容。

1

要阅读的JavaScript,你可以使用下面的方法的URL参数:

<script type="text/javascript"> 
var sLandingPage = ''; 
var sInitContent = getUrlParam('textarea'); 
var sInitDialogMsg = ''; 

function getUrlParam(name) 
{ 
    name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]'); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
     return ''; 
    else 
     return results[1]; 
} 
</script> 
+0

像魅力一样工作!谢谢达林! – 2009-12-26 20:36:29

相关问题