Kab*_*lam 16 c# asp.net jquery
我在网页上的表单中有一些asp:文本框控件,下面是一个片段.第一个是输入收件人的字段,另一个是应加载收件人姓名的较大文本区域,以及其他一些文本.
<asp:TextBox name="recipient" ID="recipient" class="inputBox" onChange="addNames()" runat="server" />
<asp:TextBox TextMode="MultiLine" name="usermessage" ID="usermessage" class="usermessage" height="128" width="425px" runat="server"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
使用此代码使用JQuery将标准消息加载到第二个文本框中:
$(".usermessage").val("Hello etc");
Run Code Online (Sandbox Code Playgroud)
这很好用,显示消息.
当用户在其他一个文本框中输入收件人的姓名或他自己的名字时,会触发addNames().此功能将收件人的名称添加到usermessage框中的标准消息.
function addNames() {
//update textbox
var recipient = $(".recipient").val();
var sender = $(".name").val();
$(".usermessage").val("Hello " + recipient +", \nThis is a message. \n\rKind regards, \n" + sender);
}
Run Code Online (Sandbox Code Playgroud)
问题是收件人和发件人这两个变量是"未定义的".
您好undefined,
这是一条消息.亲切的问候,
未定义
实际问题:如果是这样,从asp:textbox中检索值的正确代码是什么
var recipient = $(".recipient").val();
Run Code Online (Sandbox Code Playgroud)
不起作用?
html中的输出如下:
<input name="ctl00$contentPlaceHolderRightColumn$recipient" type="text" id="ctl00_contentPlaceHolderRightColumn_recipient" name="recipient" class="inputBox" onChange="addNames()" />
Run Code Online (Sandbox Code Playgroud)
我正在使用JQuery v1.3.2,Firefox v3.5.3.
qui*_*qui 22
据我所知
var recipient = $(".recipient")
Run Code Online (Sandbox Code Playgroud)
将使用CLASS的收件人选择所有dom元素.您的输入框有一个"inputBox"类.
您需要使用#通过其ID进行选择
所以:
var recipient = $("#recipient")
Run Code Online (Sandbox Code Playgroud)
但是您使用的是ASP.NET控件,它为服务器上生成了一个唯一的ID,因此它是唯一的.(在你的情况下是ctl00_contentPlaceHolderRightColumn_recipient)
选择你需要做的
var recipient = $("#<%=recipient.ClientID%>")
Run Code Online (Sandbox Code Playgroud)
- 编写了一些语法错误
| 归档时间: |
|
| 查看次数: |
64584 次 |
| 最近记录: |