2011-04-11 102 views
0

我試圖將textarea的值傳遞給服務器端。 textarea不能runat =服務器,但。 繼承人我的代碼:如何將javascript var傳遞給asp.net上的服務器端

<script type="text/javascript"> 
     function replace() { 
      //Replace <and> on textarea 
      var obj = document.getElementById('recipient_list'); 
      var str = obj.value; 
      str = str.replace(/</i, "("); 
      str = str.replace(/>/i, ")"); 
      obj.value = str; 
      alert("rec_lst.value: " + document.getElementById('recipient_list').value); 

      //Pass value to server. 
      alert("passing to server"); 
      document.getElementById("ctl00$ContentPlaceHolder1$txtEmails").value = str; 
      alert("Passed to server"); 
      alert("txtEmails.value: " + document.getElementById("ctl00$ContentPlaceHolder1$txtEmails").value); 
     } 
    </script> 

這不,雖然工作...任何想法如何解決或更好的實現這個?? ..

+0

到底是不是有什麼加工?此外,'ctl00 $ ContentPlaceHolder1 $ txtEmails'(等等)看起來很像一個ASP.NET控件名稱,而不是一個id。也許嘗試'ctl00_ContentPlaceHolder1_txtEmails'而不是? – 2011-04-11 19:40:19

回答

2

試試這個:

var txtEmail = document.getElementById("<%=txtEmails.ClientID%>"); 
txtEmail.value = str; 

然而,這將不通過任何服務器,只需更改文本框的值。

把它發送到服務器,用戶必須點擊提交按鈕,或者如果你有服務器端的按鈕有這樣的代碼爲「自動點擊」因此,它執行後回:

document.getElementById("<%=btnSubmit.ClientID%>").click(); 
+0

...或執行一些Ajax操作。雖然更復雜。 – NovaJoe 2011-04-11 19:53:48

+0

@Nova取決於他想要改變的值.. :) – 2011-04-11 19:57:27

+0

好吧,也許有一個更簡單的方法來做我想做的事情。基本上我使用plaxo widger,所以我有一個textarea(不能runat = server)和一個包含「<" and ">」的郵件列表。由於安全原因,ASP.net不會採取任何與< and >。所以,在javascript函數中,我用(和)替換< and >。現在,我需要將textarea中的任何內容傳遞給服務器,以便我可以獲取電子郵件地址。 – 2011-04-11 20:11:59

0

你從客戶端到服務器的斜面通值使用JS

JS只是一個客戶端的代碼。如果可以做這樣的事情,黑客將是如此容易:)

一兩件事你可以做的是添加一些文字或標籤控制爲不可見並指定值控制並在發生某些事件時將其傳遞給服務器。

示例代碼

<asp:TextBox ID="textbox1" runat="server" ></asp:TextBox> 
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="callOnEvets()"/> 



function callOnEvets() 
    {document.getElementById('textbox1').value = 10; } 
+0

我試圖做到這一點,不知何故,當我有runat =服務器在文本框,任何想法它不工作? – 2011-04-11 19:43:30

+0

你可以添加一個不可見的控件,可以是一個runat =服務器? – anishMarokey 2011-04-11 19:55:36

相關問題