gpt4 book ai didi

javascript - 获取动态添加的输入字段的内容

转载 作者:行者123 更新时间:2023-12-03 08:01:53 25 4
gpt4 key购买 nike

当单击按钮时,我使用 JavaScript 将额外的输入字段添加到网页,并尝试获取 ASP.NET 中新输入字段的内容,但我只能访问原始输入字段,而不能访问用 JavaScript 创建的新的。

添加到的原始列表:

<ul class="add-event-list" id="eventList" runat="server">
<li id="eventItemsList">
<asp:TextBox name="event-info" TextMode="MultiLine" Columns="50" Rows="5" id="eventInfo" placeholder="Enter an Event..." runat="server"/>

<label for="event-date" class="field-heading">Date</label>
<asp:TextBox Type="date" name="event-date" id="eventDate" placeholder="Enter a Date..." runat="server"/>
</li>
</ul>
<button class="btn add-event-btn" onclick="return false" >Add Event <span class="glyphicon glyphicon-plus"/></button>

点击按钮:

$('.add-event-btn').on('click', function () {
var list = $('#eventItemsList').clone();
$('.add-event-list').append(list);
});

提交时点击:

<button class="grey-btn" id="buttonSubmitHouse" onserverclick="buttonSubmitHouse_ServerClick" runat="server">Submit</button>

只显示ul中的原始元素:

protected void buttonSubmitHouse_ServerClick(object sender, EventArgs e)
{
foreach (Control item in eventList.Controls)
{
Control Test = item;
}
}

最佳答案

您遇到问题的原因是动态控件实际上并未在服务器上呈现。这就是为什么你无法迭代它们,服务器不知道它们存在。最简单的方法是实现 Web 服务。

当您调用该服务时,您只需附加一个QueryString,然后执行您想要的功能。所以从客户端你会这样做:

$.ajax({
type: '...',
url: '...',
dataType: 'json',
success: (function (response) {
// Do something with service response.
})
});

根据您的技术,您可以使用 Controller 或使用通用 Asp 处理程序文件,这样您就可以锚定到传递给处理程序的 HttpContext 上。

关于javascript - 获取动态添加的输入字段的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34548482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com