成功执行ajax响应后重置文本框值

时间:2014-07-14 16:22:56

标签: jquery html ajax

我现在尝试在成功完成ajax请求后重置文本框的值。 我试过这样的事情

$('#text1').val("");
$('#text2').prop('value','');

但是wolud不起作用。 这些都在控制台中工作..

 <script type="text/javascript" src="/Includes/jquery.min.js"></script>
 <script type="text/javascript">
    $(function(){
        $('#btn').click(function(){             
            jQuery.ajax({
                url:"validation.cfc",
                data:{method:'db_validation',fname:$('#text1').val(),Email:$('#text2').val()},
                type:"POST",
                success:function(html){
                    //what code should be written to clear textbox values after successful ajax response
                    //$('#text1').val("");   ---> This code was not working
                    $('#para').html(html);//even this code was executed.
                }
            });             
        });     
    }); 
 </script> 
 <form>     
 <p id="para"></p>  
 <input id="text1" name="txtBox1" type="text"><br />    
 <input id="text2" name="txtBox2" type="text"><br />    
 <input type='button' name='Button' value='Add User' id="btn"/> 
 </form>

4 个答案:

答案 0 :(得分:2)

使用以下内容,它会清空文本框。

$('#text1').val("");

你的代码可能有问题。

如有任何问题,请参阅HERE

jQuery API

答案 1 :(得分:2)

我不确定执行#para行和页面上剩余的文本,因为表单提交了两次:默认表单提交和ajax。因此,我希望#para中的html会在短时间内出现并消失。

使用event.preventDefault()来阻止默认提交,除非您有重复的ID,否则应清除文本框。

$(function(){
    $('#btn').closest('form').submit(function( e ){
        e.preventDefault();
        jQuery.ajax({
            url:"validation.cfc",
            data:{method:'db_validation',fname:$('#text1').val(),Email:$('#text2').val()},
            type:"POST",
            success:function(html){
                $('#text1').val("");   //<----- Should work
                $('#para').html(html);  //even this code was executed.????
            }
        });
    });
});

答案 2 :(得分:0)

我认为重置的最佳解决方案是使用重置方法

success:function(html){
  $('#form').reset();
}

编辑: 对不起,我的失败没有检查

在这里工作example

应该是

success:function(html){
  $('#form')[0].reset();
}

答案 3 :(得分:-2)

如果要清除文本框,只需使用文本框ID作为  任何功能

txtName.Text = "";
txtContactno.Text = "";
txtEmail.Text = "";