我正在尝试使用代码来获取数据,而无需重新加载浏览器页面。是的,我知道,AJAX就是解决方案。但是,让我先向您展示代码:
AJAX部分:
<script type="text/javascript">
<!-- for sumitting the form -->
function tabSubmit(obj,e){
var e=(typeof event!='undefined')?window.event:e;// IE : Moz
if(e.keyCode==13){
if(document.getElementById("rollno").value == ''){
alert("Please Enter Roll No");
document.getElementById("rollno").focus();
return false;
}else{
var rollno = document.getElementById("rollno").value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
//if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if (xmlhttp.readyState == 4) {
document.getElementById("pt_marks_initial").value = xmlhttp.responseText;
document.getElementById("pt_marks_initial").focus();
}
};
xmlhttp.open("GET", "data.php?rollno=" + rollno, true);
xmlhttp.send();
}
}
}
</script>
HTML部件:
<form name="search" id="search" method="post">
<label for="rollno">Roll No:</label>
<input name="rollno" id="rollno" maxlength="14" size="30" onKeyPress='return tabSubmit(this,event)' />
</form>
<form name='receiveform' id='receiveform' method='post'>
<label for='rollno'>Roll No</label> <input type='text' name='srollno' id='srollno' value='' readonly='readonly' />
<label for='pt_marks_initial'>PT MARKS INITIAL</label> <input type='text' name='pt_marks_initial' id='pt_marks_initial' value='' />
</form>
问题是焦点没有保持设置为所需的表单元素,因为在AJAX调用之后页面正在重新加载。如果我使用下面代码中提到的两个条件:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
然后它也没有进入if块。我无法找出错误。请帮忙。