【问题标题】:replaceWith(), remove() and empty() don't workreplaceWith()、remove() 和 empty() 不起作用
【发布时间】:2015-07-07 15:49:27
【问题描述】:

我第一次使用 jQuery(我也是 Javascript 的新手),我创建了这段代码来处理表单数据输入:

$(document).ready(function() {
    $('form').submit(function(event) {
        var formData = $('form :input');

        $.ajax({
            type        : 'POST',
            url         : 'process.php',
            data        : formData,
            dataType    : 'text',
            encode      : true
        }).done(function(data) {
            if (data == "OK") {
                var div = $("#add");
                console.log(div);
            }
        });
        event.preventDefault();
    });
});

一切正常,我可以在控制台中看到 div 的内容(其 id 为 add)(我正在使用 Chrome 的代码检查器)。 现在我正在尝试用一条消息替换上述 div 的内容,以向用户确认数据已成功发送。 我尝试使用.replaceWith()remove()empty(),但这些都不适用于选定的 div。

这里是html表单代码:

<div id="add">
    <h3>Form</h3>
    <p>Form fields description</p>
    <hr>
    <form class="form-horizontal" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <div class="form-group">
            <label class="control-label col-xs-3" for="name">Name:*</label>
            <div class="col-xs-3">
                <input type="text" class="form-control" id="name" name="name" required>
            </div>
            </div>
        <div class="form-group">
            <label class="control-label col-xs-3" for="desc">Surname:*</label>
            <div class="col-xs-5">
                <input type="text" class="form-control" id="surname" name="surname" required>
            </div>
        </div>
        <br>
        <div class="form-group">
            <div class="col-xs-offset-3 col-xs-6">
                <input type="submit" class="btn btn-primary" value="Submit">
                <input type="reset" class="btn btn-default" value="Reset">
            </div>
        </div>
    </form>
</div>

可能是什么问题?可能我做错了什么……

编辑: 我试过这个:

$("#add").replaceWith("&lt;h3&gt;New content&lt;/h3&gt;");

还有这个:

var div = $("#add");
div.remove();

【问题讨论】:

  • 这些选项中的任何一个都应该有效。你能展示你实际尝试过的东西吗?你可能只是打错了。
  • 你能展示一下你是如何编写这三个函数的吗?
  • 我编辑了我的问题,谢谢。
  • 只要replaceWith() 就可以了。无需使用remove()
  • 有效!也许我拼错了。非常感谢你,很抱歉我的问题:(

标签: jquery html forms input replace


【解决方案1】:

试试jquery的html方法

var newContent = "<p>new content<p>"

$("#add").html(newContent);

【讨论】:

    猜你喜欢
    • 2015-10-03
    • 1970-01-01
    • 2011-03-06
    • 2012-01-25
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多