Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-清除克隆的表单值_Jquery - Fatal编程技术网

jQuery-清除克隆的表单值

jQuery-清除克隆的表单值,jquery,Jquery,在下面的代码中,当我尝试将val()设置为空字符串:val(“”)时,代码中断,表单不会追加。但实际上,当表单被追加时,表单的输入值被克隆,这是我不想要的,并且一直试图用val(“”)来删除,但没有用。我试图寻找类似的问题,但我不认为它们代表了我的情况 Html: 编辑: 为清晰起见,添加链接。我一直遵循这个例子,但我遇到了我在这里试图解决的问题你知道函数吗 这个怎么样: $(document).ready(function(){ $("#commenters").on("click",

在下面的代码中,当我尝试将val()设置为空字符串:val(“”)时,代码中断,表单不会追加。但实际上,当表单被追加时,表单的输入值被克隆,这是我不想要的,并且一直试图用val(“”)来删除,但没有用。我试图寻找类似的问题,但我不认为它们代表了我的情况

Html:

编辑:

为清晰起见,添加链接。我一直遵循这个例子,但我遇到了我在这里试图解决的问题

你知道函数吗

这个怎么样:

$(document).ready(function(){
   $("#commenters").on("click", ".reply", function(event){
      event.preventDefault();
      var $form = $("#postcomment");
      $form[0].reset();

      $form.find('.parent').val($(this).parent().parent().attr('user_id'));
      $(this).parent().append($form.clone());
   });
});

$(document).ready(function () {
        $("#commenters").on("click", ".reply", function (event) {
            event.preventDefault();
            // in case you want to clear the original form as well
            $("form#postcomment")[0].reset();
            var form = $("#postcomment").clone();
            form[0].reset();
            form.find('.parent').val($(this).parent().parent().attr('user_id'));
            $(this).parent().append(form);
        });
    });
根据评论进行更新

$(function() {
  $("body").on("click submit", "input[type='submit']", function(ev) {
    ev.preventDefault();
    var $el = $(this).parent().find("input[type='text']");
    var comment = $el.val();
    var temp = '<li id="user_id"><p class="poster"></p>'+comment+'<br><a href="" class="reply">reply</a></li>';
    if($($(this).parent()[0]).hasClass('replyform')) {
       $(this).parent().parent().append(temp);
    } else {
    $("ul#commenters").append(temp);  
    }
    $el.val("");
    $("ul#commenters .reply").show();
    $("ul#commenters form").hide();
  });

   $("#commenters").on("click", ".reply", function (event) {
            event.preventDefault();
            // in case you want to clear the original form as well
     $(this).hide();
            $("form#postcomment")[0].reset();
            var form = $("#postcomment").clone();
            $(form[0]).addClass("replyform");
            form[0].reset();
            form.find('.parent').val($(this).parent().parent().attr('user_id'));
            $(this).parent().append(form);
        });

});
$(函数(){
$(“正文”)。在(“单击提交”,“输入[type='submit']”上,函数(ev){
ev.preventDefault();
var$el=$(this.parent().find(“输入[type='text']”);
var comment=$el.val();
var temp='
  • '+comment+'
  • '; if($($(this.parent()[0]).hasClass('replyform')){ $(this.parent().parent().append(temp); }否则{ $(“ul注释者”)。附加(临时); } $el.val(“”); $(“ul#commenters.reply”).show(); $(“ul注释者表单”).hide(); }); $(“#评论者”)。在(“单击”,“回复”,函数(事件){ event.preventDefault(); //如果您还想清除原始表单 $(this.hide(); $(“form#postcomment”)[0]。重置(); var form=$(“#postcomment”).clone(); $(表格[0]).addClass(“replyform”); 表单[0]。重置(); form.find('.parent').val($(this.parent().parent().attr('user_id')); $(this.parent().append(form); }); });
    HTML:

    <form id="postcomment" method="post" action="">
    
            <input type="text" name="formva">
            <input type="submit" value="Post" />
    </form>
    <ul id="commenters">
    
    </ul>
    
    
    

    form.find('.parent')将返回null。您的表单中是否有类为的元素?@codehx我刚刚仔细检查了一下,我发现表单中没有类为父的元素。这就是为什么
    form.find('.parent').val($(this.parent().parent().attr('user_id'))fails@codehx问题是,当我删除.parent()和two parent()时,表单根本就不会附加任何内容,您必须提供一个完整的示例,说明您正在查找的内容仍然不起作用。我想这就是我开始拉扯头发的地方out@Antony对不起。处理程序有点小错误。我编辑我的答案。检查这个谢谢你的努力,但它仍然不起作用。jsbin演示也给了我一个禁止的错误(403)。在这一点上,老实说,我不知道该怎么想。我真的需要这个功能,不想使用disqs,因为我觉得很难看,你需要点击回复按钮。希望您单击了“发布”按钮事件绑定到代码中的“回复”按钮链接显示了我试图完成的内容,但遵循该教程会导致我试图在此处解决的问题。根据评论更新:)
    
    $(document).ready(function () {
            $("#commenters").on("click", ".reply", function (event) {
                event.preventDefault();
                // in case you want to clear the original form as well
                $("form#postcomment")[0].reset();
                var form = $("#postcomment").clone();
                form[0].reset();
                form.find('.parent').val($(this).parent().parent().attr('user_id'));
                $(this).parent().append(form);
            });
        });
    
    <form id="postcomment" method="post" action="">
    
            <input type="text" name="formva">
            <input type="submit" value="Post" />
    </form>
    <ul id="commenters">
    
    </ul>