【发布时间】:2011-12-26 06:11:40
【问题描述】:
在网络表单中,我有一些输入字段
<div id="search1">
<div class="forminput">
Label 1<br />
<input type="text" name="Field1" value="" size="20" />
</div>
<div class="forminput">
Label 2<br />
<input type="text" name="Field2" value="" size="20" />
</div>
</div>
由于控件失去焦点,输入的值需要返回到 asp.net 文本框控件。我已经能够使用以下代码将值传递给 div 层或标准 html 元素:
function fieldUpdate() {
var currentValue = $(this).val();
var field = $(this).attr("name");
if (currentValue != "") {
$("#results").append(field + ":" + currentValue + "+");
}
}
$(function () {
$("#search1 :input[type=text]").focusout(fieldUpdate);
});
但是,这似乎不适用于 asp.net 服务器端控件。 更新 这个问题的目的是将输入到标准 html 输入字段中的值提供到 asp:textbox 控件中
<asp:TextBox ID="results2" Text="" Width="400" runat="server" />
更新 下面是当前解决方案如何工作的屏幕截图。在顶部,当用户输入一个值时,您会看到输入字段,并在每个字段中使用制表符将该值添加到标有结果的 Div 层。我想要做的不是将字段名和值添加到 DIV 元素,而是希望将它们添加到 asp:textbox 控件。
最好将此代码存储在外部 js 文件中而不是 aspx 页面中。
任何人都可以就如何实现这一点提供任何建议吗?
提前致谢
更新解决方案 感谢 James 帮助我完成这项工作。下面是当前实现中使用的 jQuery 代码。
function fieldUpdate() {
var currentValue = $(this).val();
var field = $(this).attr("name");
var txt = $("#<%=results2.ClientID%>");
if (currentValue != "") {
$("#results").append(field + ":" + currentValue + "+");
if (txt) {
txt.val(txt.val() + field + ":" + $(this).val() + "+");
}
}
}
$(function () {
//only evaluate input text field
$("#search1 :input[type=text]").focusout(fieldUpdate);
这将允许使用输入字段名称和值填充 asp:textbox。 示例 Field1:foo+Field2:somevalue2+Field3:somevalue3 ...
【问题讨论】:
-
可以添加服务器端控件创建的HTML吗?
-
究竟是什么问题:从输入字段中获取值,或者将值设置为 ASP.NET 文本框控件?如果是最后一个,Textbox Control在哪里?
-
@Pbirkoff 我遇到的问题是我需要能够将 html 输入字段中的值配置到 asp:textbox 控件中。为了清楚起见,我已经更新了问题