提交后刷新文本字段

时间:2014-06-07 22:28:55

标签: javascript ajax

我有这个代码提交到数据库而没有刷新,但问题是当它发送时,变量仍然保留在文本字段中

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>


<script>
$(document).ready(function(){
    $("form").on('submit',function(event){
    event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "insert.asp",
        data: data
        }).done(function( msg ) {

        });
    });
});
</script>

我在想是否有一种方法,变量会在发送到数据库后从文本文件中消失,甚至会在保存数据时自动消失。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

 $('input[type=text]').val(''); // select all text inputs and assign value of ''

您的代码:

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>


<script>
$(document).ready(function(){
    $("form").on('submit',function(event){
    event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "insert.asp",
        data: data
        }).done(function( msg ) {
             $('input[type=text]').val('');
        });
    });
});
</script>

答案 1 :(得分:0)

我认为您要做的是在ajax请求之后的回调中添加您想要的行为。目前您正在使用&#34;已完成&#34;作为回调,在我的理解中,只要ajax调用完成,无论成功与否,都会执行回调。如果这是你想要的,在这个回调中添加文本字段清除和警报代码,否则回调就像&#34;成功&#34;可能更合适。

我并不完全确定你的意思是警告&#34; ...如果您指的是警报框,即:警报(),我不会&#39建议吧。这将暂停您的脚本,直到用户单击该按钮,因此一旦显示警报就无法终止该警报。警报框也不是最好的东西呈现给用户imo。另一种方法是在页面的某处定义div,在success / done回调中使用jquery将成功消息添加到它,然后设置一个超时以使其淡出(包含在我下面的示例中)。如果你正在寻找更精细的东西,你可以在他们的小工具中找到一些警告框的替代品。

也许这段代码可以为您提供一些入门建议:

<script>
$(document).ready(function(){
    $("form").on('submit',function(event){
        event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "insert.asp",
        data: data
        }).success(function() {

            $("#feedback").append("<div class='messages' style='border:1px green solid; padding:2px; margin:5px;'>successfully submitted!</div>");

            setTimeout(function() { 
                $(".messages").fadeOut(function(){
                    $(".messages").remove();
                }); 
            }, 1000);

            $("input[type=text]").val("");

        });
    });
});
</script>

哪里有一个id =&#34;反馈&#34;您要在哪里显示消息。