【问题标题】:Element disappearing immediately after clicking add button单击添加按钮后元素立即消失
【发布时间】:2018-08-19 20:03:30
【问题描述】:

一旦用户单击添加按钮,我想要做的非常简单,然后应该添加新的<tr><td> 元素。问题是新添加的元素会立即消失。我已经检查了here。但这无关紧要

我认为代码 sn-ps 是不言自明的

$(document).ready(function() {
    var i = 1;
    $('#submit').click(function() {
        i++
        $('#data').append('<tr id="row' + i + '"><td><input type="text" name="name[]" id="name"></td><td><input type="submit" name="remove" id="' + i + '"  class="btn btn-danger btn-xs btnRemove" value="x"></td></tr>');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="addName" method="post" name="addName">
    <table id="data">
        <tr>
            <td><input id="name" name="name[]" type="text">
            </td>

            <td><input class="btn btn-success btn-xs btnAdd" id="submit" type="submit" value="+">
            </td>
        </tr>
    </table>
    <input class="btn btn-info btn-xs" id="submit" name="submit" type="button" value="Submit">
</form>

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    你需要使用.preventDefault();:

    $('#submit').click(function(e){
        e.preventDefault();
        i++
        $('#data').append('<tr id="row'+i+'"><td><input type="text" name="name[]" id="name"></td><td><input type="submit" name="remove" id="'+i+'"  class="btn btn-danger btn-xs btnRemove" value="x"></td></tr>');
    
    });
    

    否则您的type=submit 按钮实际上会在单击时提交表单

    【讨论】:

    • You button:submit 位于form 内,点击在javascript onlick 代码执行后发起表单提交,您需要防止这种情况发生
    • 但是如果我这样改变一切都好。我不明白
    • type=button 不启动表单提交
    猜你喜欢
    • 2019-05-19
    • 2018-01-06
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多