使用jQuery向asp.net文本框控件添加文本

使用jQuery向asp.net文本框控件添加文本,jquery,asp.net,webforms,Jquery,Asp.net,Webforms,在web表单中,我有一些输入字段 <div id="search1"> <div class="forminput"> Label 1<br /> <input type="text" name="Field1" value="" size="20" /> </div> <div class="forminput">

在web表单中,我有一些输入字段

<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服务器端控件。 更新 这个问题的目的是将标准html输入字段中输入的值提供给asp:textbox控件

<asp:TextBox ID="results2" Text="" Width="400" runat="server" />

更新 下面是当前解决方案工作原理的屏幕截图。在顶部,当用户输入一个值时,您可以看到输入字段,并从每个字段中弹出选项卡。该值将添加到标有结果的Div层中。我想做的不是将fieldname和value添加到DIV元素中,而是将它们添加到asp:textbox控件中

最好将此代码存储在外部js文件中,而不要存储在aspx页面中

有人能就如何实现这一目标提出建议吗

提前谢谢

更新解决方案 感谢詹姆斯帮我完成这项工作。下面是当前实现中使用的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);
函数字段更新(){
var currentValue=$(this.val();
var字段=$(this.attr(“名称”);
var txt=$(“#”);
如果(currentValue!=“”){
$(“#结果”)。追加(字段+”:“+currentValue+”+”);
如果(txt){
txt.val(txt.val()+字段+”:“+$(this.val()+”+”);
}
}
}
$(函数(){
//仅计算输入文本字段
$(“#search1:input[type=text]”);
这将允许使用输入字段名和值填充asp:textbox。
示例字段1:foo+Field2:somevalue2+Field3:somevalue3…

这些不是ASP.NET文本框控件;它们是HTML文本输入。要回答您的问题,请执行以下操作:

<script type="text/javascript">
    $(function(){
        $("#input1").val("Hello world");
    });
</script>
<input type="text" id="input1" />
如果您使用实际的ASP.NET文本框控件,则解决方案将略有不同:

<script type="text/javascript">
    $(function(){
        $("#<%=TextBox1.ClientID%>").val("Hello world");
    });
</script>
<asp:TextBox ID="TextBox1" runat="server" />
下面是上述示例的JSFIDLE:

编辑

根据您的评论,以下是如何在
blur
上将一个值从一个输入复制到另一个输入:

$(".forminput input[type='text']").blur(function(){
    var txt = $("#<%=TextBox1.ClientID%>");
    if (txt){
        txt.val(txt.val() + $(this).val());
    }
});
$(“.forminput input[type='text']”).blur(函数(){
var txt=$(“#”);
如果(txt){
txt.val(txt.val()+$(this.val());
}
});

您可以添加服务器端控件创建的HTML吗?问题到底是什么:从输入字段中获取值,还是将值设置为ASP.NET Textbox控件?如果是最后一个,Textbox控件在哪里?@Pbirkoff如果我遇到的问题是,我需要能够将HTML输入字段中的值设置为n asp:textbox控件。我已更新了clarityYes的问题。你是正确的James。这些控件是标准html输入控件,它们需要提供asp.net控件,因此你是正确的。我将从输入转到asp:textbox。很抱歉,在问题中没有更清楚地说明这一点。我使用了名称,因为我还想用e值。您建议使用ID而不是名称,无论是出于何种原因还是个人偏好。谢谢,这取决于您,但ID在大多数情况下都是标准的。James我尝试了您的解决方案,但它只添加了一个值。我需要通过制表符查看每个字段,并将值附加到文本字段中。这样它就可以生成一个字符串。(Field1:value+Field2:value…)我尝试使用append(),但似乎不起作用。使用val只会在文本字段中放置一个值。刚刚更新了上一个示例。注意,在输入周围有一个
forminput
类。
<script type="text/javascript">
    $(function(){
        $("#<%=TextBox1.ClientID%>").val("Hello world");
    });
</script>
<asp:TextBox ID="TextBox1" runat="server" />
$(".forminput input[type='text']").val("Hello world!");
$(".forminput input[type='text']").blur(function(){
    var txt = $("#<%=TextBox1.ClientID%>");
    if (txt){
        txt.val(txt.val() + $(this).val());
    }
});