Это разочаровывает, я хочу просто создать новый input field
внутри div
на моей странице aspx
, когда нажата кнопка button
. Я использую функцию javascript witch, добавляет новый дочерний элемент (поле ввода) в существующий div
. Все это выглядит следующим образом:Я создаю элемент html div, но он сразу исчезает в ASP.NET.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Pages_test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function clone() {
var html = document.createElement("input");
html.setAttribute("id", 1);
html.setAttribute("name", "dejan");
html.setAttribute("value", "some text");
html.setAttribute("type", "text");
document.getElementById("panj").appendChild(html);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="panj">
Djubrov
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="clone()" />
</form>
</body>
</html>
Забавно, что текстовый элемент с значением мигает набор текста для второго, когда я нажимаю кнопку, но она исчезает послесловия. Я что-то упускаю?
Почему вы думаете, что элементы, созданные на клиентской стороне, остаются после обратной передачи? Сервер даже не знает, что они существуют, и не будет их воссоздавать. –
Как я могу создать новый элемент, когда происходит какое-то событие, вызванное пользователем, и сделать его видимым на одной странице? –