表单值不会在提交时重置

时间:2015-12-07 06:57:56

标签: javascript html forms

在提交时,我希望表单重置为在此处撰写您的评论。我下面有

document.getElementById('#Comment').value='';

但表单值未重置。

<form action="comments.php" method="post" id="Comment">
   <input type="text" style="width: 600px" value="Write your comment here" name="Comment" maxlength="250" autocomplete="off" id="Comment"
          onblur="if (this.value == '') {this.value = 'Write your comment here';}"
          onfocus="if (this.value == 'Write your comment here') {this.value = '';}" /><br>

   <input type="hidden" value="Post" name="submit" /> 

   </button>


   <input type="submit">
</form>
<script>
  $(function(){
    $('#Comment').on('submit', function(e){

    // prevent native form submission here
    e.preventDefault();

    // now do whatever you want here
    $.ajax({
        type: $(this).attr('method'), // <-- get method of form
        url: $(this).attr('action'), // <-- get action of form
        data: $(this).serialize(), // <-- serialize all fields into a string that is ready to be posted to your PHP file
        beforeSend: function(){
            $('#result').html('');
        },
        success: function(data){
            $('#result').html(data);
            document.getElementById('#Comment').value='';
        }
     });
   });
 });
</script>

5 个答案:

答案 0 :(得分:3)

删除哈希标记,更改此行:

document.getElementById('#Comment').value='';

document.getElementById('Comment').value='';

以上将输入元素值设置为&#39;&#39;或

以下
document.getElementById('Comment').reset();

reset the form

修改

我不确定您要实现的目标,但请尝试以下代码, 并且根据您的要求改变它,占位符通常是比您自己处理逻辑更好的选择,here是对它的支持..

<form action="comments.php" method="post" id="Comment">
    <input type="text" style="width: 600px" placeholder="Write your comments here..." value="" name="Comment" maxlength="250" autocomplete="off" id="txtComment" />

    <button type="submit" >Submit Me</button>
</form>
<script>
$(function () {
    $('#Comment').on('submit', function (e) {

        // prevent native form submission here
        e.preventDefault();

        // now do whatever you want here
        $.ajax({
            type: $(this).attr('method'), // <-- get method of form
            url: $(this).attr('action'), // <-- get action of form
            data: $(this).serialize(), // <-- serialize all fields into a string that is ready to be posted to your PHP file
            beforeSend: function () {
                $('#result').html('');
            },
            success: function (data) {
                $('#result').html(data);
                document.getElementById('Comment').reset();
            }
        });
    });
});
</script>

答案 1 :(得分:1)

使用此document.getElementById('Comment').reset();

答案 2 :(得分:0)

您有一个结束按钮标记</button>,但没有开始标记。之前添加按钮<button type="submit">,它应该可以正常工作。

答案 3 :(得分:0)

为什么不使用占位符,而不是重置可以作为表单条目发布的值?

$project = Project::find();

答案 4 :(得分:0)

我知道,你正在使用jquery。为什么不使用jquery选择器然后重置表单的值?

$("#Comment").get(0).reset();

注意:get(0)函数从所选的jquery对象返回表单对象,您可以在其上调用reset()方法。