点击submit按钮,执行ajax,验证输入的用户名是否被占用。这个该怎么实现?谢谢帮忙!

点击submit按钮,执行ajax,验证输入的用户名是否被占用。如果已被占用,不提交表单;如果没有被占用,提交表单。我用了jQuery。
<form method="post" action="reg.php" id="reg">
用户名:<input type="text" name="username" id="username" />
<input type="submit" value="提交" id="submit" />
</form>
<script type="text/javascript">
这里怎么写?
</script>

$(function (){
$("#submit").click(function (){
var username=$("#username").val()
$.ajax({
type: "get",
url:"post.asp",
async: true,
timeout: 15000,
data:{username:username},
beforeSend: function(xhr) {   //beforeSend定义全局变量
xhr.setRequestHeader("If-Modified-Since", "0");  //If-Modified-Since HTTP请求头标签,即比较浏览器缓存页面时间
},
success: function(xmlDoc, textStatus, xhr) 
{
if(xhr.readyState==4)
{
if(xhr.status == 200)
{
var str=xhr.responseText; //获取返回值
if (str==0){ //查询返回0表示已注册
alert("已被注册")
return;
}
else{
//运行正确的代码
alert("可以正常注册")
}
}
}
},
});  
});
});

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-14
form表单添加一个时间 onSubmit 该事件 如果返回false 就不会提交表单, 返回true就会提交表单了
<form method="post" action="reg.php" id="reg" onSubmit="test()">

后台 返回 true 或者 false 并将 结果放到 request.setAttribute('result' , true );

function test(){
var url= "" ; // 后台验证用户名是否存在的url
var name = $(“#username”).val();
$.post(url , { 'username':name}, function(data){
return data.result ;
} ) ;
}本回答被网友采纳
第2个回答  2014-01-13
你给form表单 指定了action,在你点击submit时,是会自动获取表单内所有input值并直接提交到你的处理页面reg.php。你要是想做判断就在你的reg.php写代码。这个是先提交后判断了
如果你是想先判断在决定是否提交,就把action去掉,给submit一个onclick方法,方法就是先获取input值判断在ajax提交到你的reg.php页面
第3个回答  2014-01-13
jquery.form.js用这个吧
这个插件就可以了
相似回答