创建JQuery动态表单会删除现有的输入字段

时间:2020-04-09 07:24:00

标签: jquery forms dom

我有一个输入搜索字段。现在,在jquery中动态创建表单期间,该搜索字段将从其父div中删除,并被添加到新表单中。此外,不会创建应该创建的类型为hidden的动态输入。请在下面找到我的代码。请帮助解决此问题。预先感谢。

HTML

<body>
    <div class="searchArea">
        <input id="searchField" name="searchNotice" type="text">
        <button id="searchButton" class="iconButton" data-tooltip-text="Search"><i class="fy fy-magnify"></i></button>
    </div>
    <div class="downloadArea">
        <button id="downloadIDPDF" ntag="6">Download ID Card</button>
    </div>
</body>

jQuery

$('#downloadIDPDF').click(function()
{
    $empID  = $(this).attr('ntag');
    var url = './lib/emp_id_pdf.lib.php';       

    $("<form>")
    .attr("action", url)
    .attr("method", "post")
    .append($("input").attr("type", "hidden").attr("name", "emp_id").attr("value", $empID))
    .appendTo("body")
    .submit()
    .get(0)
    .reset()
    .remove();
});

最终HTML

<body>
    <div class="searchArea">            
        <button id="searchButton" class="iconButton" data-tooltip-text="Search"><i class="fy fy-magnify"></i></button>
    </div>
    <div class="downloadArea">
        <button id="downloadIDPDF" ntag="6">Download ID Card</button>
    </div>
    <form action="./lib/emp_id_pdf.lib.php" method="post">
        <input id="searchField" name="searchNotice" type="hidden" value="2">
    </form>
</body>

1 个答案:

答案 0 :(得分:0)

这正发生在append($(input).attr(“ type”,“ hidden”)。attr(“ name”,“ emp_id”)。attr(“ value”,$ empID))-工作作为一个选择器和选择所有的DOM的输入,并将其附加到表格,就可以这样做。

$('#downloadIDPDF').click(function()
{
    $empID  = $(this).attr('ntag');
    var url = './lib/emp_id_pdf.lib.php';       
    var input = '<input>'
    $("<form>")
    .attr("action", url)
    .attr("method", "post")
    .append($(input).attr("type", "hidden").attr("name", "emp_id").attr("value", $empID))
    .appendTo("body")
  .submit()
    .get(0)
    .reset()
    .remove();
});

希望这会有所帮助:)