【发布时间】:2009-10-23 09:49:30
【问题描述】:
我在网页上的表单中有几个 asp:textbox 控件,下面是一个 sn-p。第一个是输入收件人的字段,另一个是一个较大的文本区域,应在其中加载收件人姓名以及其他一些文本。
<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>
使用带有此代码的 JQuery 将标准消息加载到第二个文本框中:
$(".usermessage").val("Hello etc");
效果很好,显示了消息。
当用户在其他文本框中输入收件人姓名或他自己的姓名时,会触发 addNames()。此函数将收件人姓名添加到用户消息框中的标准消息中。
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);
}
问题是recipient和sender这两个变量是“未定义的”。
你好,未定义,
这是一条消息。亲切的问候,
未定义
实际问题:从 asp:textbox 中检索值的正确代码是什么
var recipient = $(".recipient").val();
不工作?
html中的输出如下:
<input name="ctl00$contentPlaceHolderRightColumn$recipient" type="text" id="ctl00_contentPlaceHolderRightColumn_recipient" name="recipient" class="inputBox" onChange="addNames()" />
我正在使用 JQuery v1.3.2 和 Firefox v3.5.3。
【问题讨论】: