2011-04-11 78 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

相关问题