我现在尝试在成功完成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>
答案 0 :(得分:2)
答案 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 = "";