2009-12-26 20 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

相關問題