我创建了html div元素,但它在ASP.NET中立即消失

Dej*_*ric 2 html javascript asp.net appendchild createelement

这很令人沮丧,我想在点击时在我的页面上创建新的input field内部.我使用javascript函数将新的子元素(输入字段)附加到现有的.这一切看起来像这样:divaspxbuttondiv

<%@ 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>
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我点击按钮时,带有设置文本值的文本元素闪烁第二,但它在消息后消失.我错过了什么吗?

sku*_*kub 7

每次单击该按钮都会导致回发.

通过停止回发来修复它,如下所示:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="clone(); return false;" />
Run Code Online (Sandbox Code Playgroud)