如何在提交到数据库后清除输入字段

时间:2017-08-26 17:49:45

标签: javascript jquery

我有一个包含不同输入字段的表单:textarea,复选框,单选按钮,文本输入和选择输入。我正在使用jquery将其提交到数据库而不刷新完美的页面。但问题是jquery在提交后不会清除字段中的内容。仍然选中复选框和单选按钮。我在这个网站上做的研究表明,这个问题将通过使用jQuery的每个功能来解决。我做到了,但它没有用。请问在我的代码中我做错了什么。我的jquery代码如下所示。

Jquery的

$("#sub").click( function() {
    var content =   tinyMCE.activeEditor.getContent();
    $('textarea[name=texteditor]').val(content);
    $.post( $("#myform").attr("action"), $("#myform").serialize(), function(info){ $("#result").html(info); } );
    clearInput();
    });

    $("#myform").submit( function() {
    return false;
});

function clearInput() {
    $("#input").each( function() {
     $(this).val('');
 });
 }

4 个答案:

答案 0 :(得分:0)

您可以使用以下方式重置表单:

$("#myform")[0].reset(); 

OR

$('#myform').each(function(){
    this.reset();
});    

$('button').click(function(){
$('#myform').each(function(){
    this.reset();
})});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform">
  <input type="text" />
  <input type="text" />
</form>
<button type="button">Clear</button>

答案 1 :(得分:0)

可能有更好的方法,但我过去只使用过$('。foo')。val('')

它将清除单个输入,因此您可以使用forEach迭代所有表单输入。

答案 2 :(得分:0)

在您的代码中,您尝试清除文本字段,而不是表单重置。你的代码$(this).val(&#39;&#39;);只能用于文本框。

对于Radio或复选框,您需要设置this.checked = false;  或者在JQuery $(this).prop(&#39; checked&#39;,false);

完成表单重置可以通过

实现

的document.getElementById(&#34; myForm的&#34)。复位();

答案 3 :(得分:0)

你的代码错了,你可以迭代id

function clearInput() {
   $("#input").each( function() {
      $(this).val('');
   });
}

在这里你可以使用soluiton

function clearInput() {
  $("#myform input").each(function() {
    $(this).val('');
  });
}

以下是一个示例解决方案https://jsfiddle.net/tpLexsz1/1/

$('button').click(function(){
    $("#myform input").each(function() {
    $(this).val('');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform">
  <input type="text" />
  <input type="text" />
</form>

<button>
Clear
</button>

希望这会对你有所帮助。