Form viết bài bằng ajax (mệt chổ capcha) ? 2007-11-01 10:36:55

Form viết bài của mình dạng như sau:
<div id=content>nội dung trả về sẽ hiện thị ở đây</div>
<div id=img>hình biểu tượng ajax</div>
<form>
form viết bài ở đây
<input> nhập mã xác nhận
Dạng như vậy, vấn đề post bài thì ok, còn không biết làm sao để đổi cái hình mã xác nhận hết, vì dữ liệu trả về nằm ở <div id=content> mất tiêu rồi

Tra loi 13 comment(s) changtraingheo 2007-11-01 10:36:55

TG 2007-11-01 10:58:27

thì khi load lại chỉ cần gọi lại <img src="tenfilehinh.php" /> là được.

Tra loi

changtraingheo 2007-11-02 02:28:35

nhưng mà dữ liệu trả về là nằm ở <div id=content>, mà trả về có 1 lần thôi, nên capcha ko tự thay đổi được, làm sao mà dữ liệu trả về vừa ở div id=content vừa ở chổ capcha

Tra loi

TG 2007-11-02 05:42:00

cái image capcha đâu nằm trong form post, khi post xong thì gọi thêm hàm tạo capcha mới,

Tra loi

changtraingheo 2007-11-03 03:28:07

đó, quang trọng là ở cái gọi lại hàm tạo capcha lần nữa. Ban đầu submit dữ liệu lên, sau khi dữ liệu trả về thì nội dung nằm ở <div id="content"> cho nên ở chổ capcha sẽ ko bị tác động, lúc này mình muốn thêm kèm vào nội dung trả về một đoạn javascript, đoạn này sẽ gọi trang php, trang php này có tác dụng đổi hình capcha, nhưng khổ nôi nó không chạy, mặc dù thêm eval.

function alertAdd() {
document.getElementById(idImg).innerHTML = img;
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
var result = http_request.responseText;
document.getElementById(idImg).innerHTML = '';
document.getElementById(idContentCenter).innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}

(còn một hàm nữa là  makePOSTAddRequest nhưng dữ liệu trả về ở hàm AlertAdd nên ko post)
ở chổ document.getElementById(idContentCenter).innerHTML = result; mình sửa lại thành
document.getElementById(idContentCenter).innerHTML = eval(result);
nhưng nếu ghi kiểu zday thì ứng dụng bị lỗi, nên cũng chẳng biết sao hết

Tra loi

TG 2007-11-03 08:02:51

trong cái hàm post bài qua ajax của TG có eval luôn mà, giống như hiện tại của TG nè, khi post 1 bài thì số ý kiến tăng 1, cũng phải gọi thêm hàm tăng 1

Tra loi

changtraingheo 2007-11-03 12:13:22

function $(url,id,eval_str){
    if(document.getElementById){var x=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();}
    if(x){x.onreadystatechange=function() {
        el=document.getElementById(id);
        el.innerHTML='loading....';
        if(x.readyState==4&&x.status==200){
            el.innerHTML='';
            el=document.getElementById(id);
            el.innerHTML=x.responseText;
            eval(eval_str);
            }
        }
    x.open("GET",url,true);x.send(null);
    }
}
</script>
<div id="hienthi" style="border: 1px solid #ccc;">&nbsp;</div>
<a href="#" onclick="$('file_noidung.php','hienthi');">Demo</a>
</html>

cũng xem qua code của TG rồi, nhưng ko hiểu một chổ, toàn bộ code ko có liên quan tới biến eval_str, zday trong hàm ở chổ eval(eval_str) đâu có tác dụng đâu

Tra loi

me at ducthuan dot info 2007-11-03 12:26:41

sao ko tách ra 2 phần?

<response>
<mainContain>Dữ liệu đổ vào container</mainContain>
<captcha>Thông tin về captcha</captcha>
</response>

Tra loi

changtraingheo 2007-11-06 09:10:51

đâu hết roài, chỉ giùm cái hàm javascript với

Tra loi

TG 2007-11-06 09:37:01

cái eval_str là 1 đối số mở rộng thôi, nếu truyền vào tham số cho nó thì nó sẽ được thực hiện sau khi việc gửi nhận dữ liệu thành công

Tra loi

Quốc Hưng 2009-12-17 12:32:22

Mục hiện mã captcha bạn cho code là <img id='idImg' src='filephp_captcha.php'>

Khi reload captcha bằng ajax thì xử lý thay dữ liệu hình captcha như sau là ok
document.getElementById(idImg).src='filephp_captcha.php';

Tra loi

choncon 2009-12-18 09:28:23

The nay tot hon:

document.getElementById(idImg).src='filephp_captcha.php?'+ (new Date);

Tra loi

choncon 2009-12-18 02:00:24

cu moi lan minh reply la lai deo co cai reply nao nua het
to su bon cau thu VietNam , da dam nhu cai cuc shit

Tra loi

Tống Kiện Phi 2009-12-19 02:17:19

thì bài reply của choncon là kết thúc vấn đề rồi ... reply lại nữa chi .. spam huh

Tra loi

Y kien