【问题标题】:Clear form values after ajax submission. [closed]ajax 提交后清除表单值。 [关闭]
【发布时间】:2014-05-12 18:36:51
【问题描述】:

现场直播-http://onetieva.com/#contact

此表单是使用 Ajax 和 PHP 编写的。成功提交后,我想从输入框中隐藏用户输入的信息。

任何想法如何做到这一点。

【问题讨论】:

  • 在你的 ajax 函数中,成功后,简单地隐藏元素。如果您显示您的 ajax 代码会有所帮助。
  • 您要隐藏输入还是清除它?
  • 成功调用 ajax 清除所有值 $("#Id").val("")

标签: javascript jquery css ajax reset


【解决方案1】:

您可以使用reset() 函数将reset 的表单原样变为原来的状态。

如果您使用 ajax 提交表单...可以使用回调函数完成,但我建议使用 .done()fail() 函数来处理这两种情况。

所以,会是这样的:

$.post( "example_post_page.php", example_form_data )
    .done(function() {
        // Looks good
        // Let the user know with a message and then, clears the form.
        alert( "success" );
        $('#form-contact')[0].reset();
        // -------------------^ Same behavior as <input type="reset" /> element.
    })
    .fail(function() {
        // Show some warning message
        // Don't clear the data, so the user don't have to type all over again.
        alert( "error" );
    });

当然,这只是一个示例,可以改进,例如...替换那些警报,用一个漂亮的模态框,在有错误的字段中添加一些警告类,等等...

更多信息:jquery.post

【讨论】:

  • +1 表示reset。不过,您可能会使用完全原生的 DOM,document.getElementById("form-contact").reset() :-) 或 $(…).each(function(){this.reset();})
【解决方案2】:

您可以为所有输入添加一个类,例如“.input”。然后,在成功函数中,您可以使用类选择器一次清除所有输入,如下所示:

$('.input').val('') 

这将节省您为每个输入编写一行代码。干净多了。

【讨论】:

    【解决方案3】:

    您需要清除答案,然后删除验证,试试这个代码

    var $form = $('#form-contact');
    $form.find('input, textarea').val('');
    SimpleForm.clearErrors($form)
    

    【讨论】:

      【解决方案4】:

      只需为所有字段添加一个通用类,例如- clearMe,并在你的 ajax 成功部分简单地输入 $(".clearMe").val("")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        相关资源
        最近更新 更多