PDA

View Full Version : Vấn đề về biến khi sử dụng ajax



soccerervn
07-01-2009, 17:28
Đây là đoạn ajax ví dụ:


function create_concept()
{
var concept = encodeURIComponent(frmconcept.concept.value);
var def = encodeURIComponent(frmconcept.def.value);
xmlHttp = getXmlHttpObject();
xmlHttp.open('POST', 'create_concept.php', true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = function(){
document.getElementById('creating').innerHTML = "creating...";
if(xmlHttp.readyState == 4){
document.getElementById('creating').innerHTML = xmlHttp.responseText;
}
xmlHttp.send('concept='+concept+'&def='+def);
}


Khi mình sử dụng liên tiếp nhiều hơn 1 lần đoạn script này(không reload toàn bộ trang) thì từ lần thứ 2 trở đi nó đều lấy giá trị của 2 biến tạo ra lần đầu tiên,
ví du:
lần 1: concept = "hello" ; def = "xin chao";
lần 2: concept = "goodbye"; def = "tam biet";
lần 3: ...

Từ lần 2 trở đi create_concept.php đều nhận được concept ="hello" và def="xin chao" mà không cập nhật giá trị mới của 2 biến concept và def(tất nhiên là trừ khi reload lại toàn bộ trang)

câu hỏi là làm sao để cập nhật được giá trị biến mà không phải reload lại trang?
xin cảm ơn.

amida
07-01-2009, 18:14
Bạn thử cho hàm create_concept() 2 tham số concept và def nhé. Ở mỗi lần get value từ form lên thì kiểm tra 2 biến kia có rỗng trước không đã. Nếu rỗng thì thực hiện lấy value từ form, nếu không tức là các new values đã được gán vào tham số.

soccerervn
07-01-2009, 19:05
Bạn thử cho hàm create_concept() 2 tham số concept và def nhé. Ở mỗi lần get value từ form lên thì kiểm tra 2 biến kia có rỗng trước không đã. Nếu rỗng thì thực hiện lấy value từ form, nếu không tức là các new values đã được gán vào tham số.



function create_concept(concept, def)

Cái này ok rồi.
Cảm ơn bạn nhiều.