有一个注册表单,在点注册按钮后验证提交(验证通过后,ajax提交表单),我对ajax不怎么会,找了大量资源,弄出来的,我自己都看不懂,算了,还是上代码:
r_sub.addEventListener("click", function() {//提交按钮
var l_form = document.getElementById("l_form");//获取表单
if(requ() == "false") {//验证方法返回值
alert(false);
} else {
// l_form.submit();//以前的提交方式
onreadystatechange();//ajax(这里错了,控制台报错未定义)
}
})
function requ() {//验证方法
...//验证表单项,并返回值
}
var request;//这里开始,是网上的demo.
if (window.XMLHttpRequest) {//网上说的标准和IE混合写法
request = new XMLHttpRequest();
} else {
request = new ActiveXObject('Microsoft.XMLHTTP');
}
function success(text) {//这个不知道是什么方法
var textarea = document.getElementById('l_form');//这个obj我改成我的表单id
textarea.value = text;
}
function fail(code) {//这个不知道是什么方法
var textarea = document.getElementById('l_form');//这个obj我该成我的表单id
textarea.value = 'Error code: ' + code;
}
// var request = new ActiveXObject('Microsoft.XMLHTTP'); // 新建Microsoft.XMLHTTP对象
request.onreadystatechange = function () { // 状态发生变化时,函数被回调
if (request.readyState === 4) { // 成功完成
// 判断响应结果:
if (request.status === 200) {
// 成功,通过responseText拿到响应的文本:
return success(request.responseText);
} else {
// 失败,根据响应码判断失败原因:
return fail(request.status);
}
} else {
// HTTP请求还在继续...
}
}
// 发送请求:
request.open('post', "register");//这个url是我框架弄成这样的,想直接提交到本页面,不过还是没效果
request.send();
总之,就是上面这一坨什么东西,因为直接submit方法需要跳转页面(不跳转也需要有结果能显示在页面上),用户在注册后,表单提交,并返回提交结果(我的想法是submit到控制器,然后控制器再把数据存入数据库),并将结果显示到页面上(这两步还未实现,只希望先实现ajax异步提交注册表单就可以了),希望看官能帮忙捋顺一下,或者帮忙实现一下,最好加上相应的步骤注释,方便某研究学习