Form nhập liệu sử dụng AJAX 2007-07-08 08:55:44


Mẫu: form nhập liệu TG đang dùng để soạn bài mới,ý kiến
HTML:
<html>
<script>
function $$(url,id, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = function()
{
document.getElementById('loading').innerHTML = 'loading...';
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('loading').innerHTML = '';
document.getElementById(id).innerHTML = result;
} else {
alert('There was a problem with the request.');
return false;
}
}
}
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
return true;
}

function ajaxPost(){
poststr="DATA="+ encodeURIComponent(document.getElementById("name").value)+
"BASIC_SPACE"+ encodeURIComponent(document.getElementById("noidung").value);
$$('path_to/insertdb.php','hienthi',poststr);
}
</script>
<div id="loading"></div>
<div id="hienthi">
<form action="javascript:ajaxPost();" method="post">
Tên: <input type="text" name="name" id="name"><br />
Nội dung: <textarea name="noidung" id="noidung">Nội dung mẫu</textarea>
<input type="submit" value="submit">
</form>
</html>

file insertdb.php
<?php
$data
= $_POST['DATA'];
$tmp = explode('BASIC_SPACE',$data);
$name = $tmp[0];
$noidung = $tmp[1];
print
'Xử lý name: '. $tmp[0].' và noidung '.$tmp[1];
?>

Tra loi 31 comment(s) TG 2007-07-08 08:55:44

NữThần 2007-09-21 01:43:07

Huhu, tại sao nó chỉ chạy trên IE, còn trên FF đứng im re.

Tra loi

kirk 2007-09-21 01:30:14

Ơ. Nghe vần nhỉ?
tại sao nó chỉ chạy trên IE, còn trên FF đứng im re.

Tra loi

NữThần 2007-09-22 09:54:01

Này, không chịu giúp đỡ còn ghẹo tui nữa, hu hu, bắt đền đấy...

Tra loi

AFK 2007-09-22 10:03:10

Nghe cũng hay hay! Vần ghê!
Tui nghỉ lỗi ở chổ chử status. Phải viết là http_request.Status thì mới Ok!
Thử đi nha!

Tra loi

NữThần 2007-09-24 02:06:39

Hix, vẫn chưa được mà, tại sao vậy trời......Hu huhu...

Tra loi

AFK 2007-09-24 10:35:01

một cách giải quyết kỳ quặc đây!
Bạn bỏ phần kiểm tra status bằng 200 đi,như sau:
http_request.onreadystatechange = function()  
   {    
       document.getElementById('loading').innerHTML = 'loading...';
       if (http_request.readyState == 4) {    
       //alert(http_request.responseText);  
       result = http_request.responseText;  
       document.getElementById('loading').innerHTML = '';
       document.getElementById(id).innerHTML = result;
       }
        }  
   }

Vậy là ok!!!

Tra loi

TG 2007-09-24 08:48:22

hix, TG cũng dùng cái này cho phpbasic, mà nó vẫn  chạy trên FF  mừa

Tra loi

NữThần 2007-09-25 09:31:56

Hix, tui copy của ông, sau đó sửa lại mấy chỗ NAME của Form nhập, chạy trên IE thì không sao cả,Trên FF thì im re, không động đậy, hình như nó không Post.

Tra loi

ngonchan 2007-09-26 02:06:36

Tại kêu TG bằng "ông" nên nó không chạy, kêu lão bằng anh đi, nó chạy liền ^.^
Coi lại thử, lúc copy, rồi sửa, có sai sót gì không ?

Tra loi

afk 2007-09-28 08:57:26

Cho tui hỏi "Nữ thần" cái này nha.
Viết xong mọi thứ rồi, IE thì chạy, FF thì không phải ko.
Vậy có phải bản FF của bạn là bản 2. không vậy?

Nếu vậy thì cài bản khác đi.
Lúc trước tui cũng gặp tình huống vậy, sau khi cài lại bản khác là ok! Không hiểu vì sao????

Tra loi

phuongnam 2007-09-28 04:29:28

bạn nào có mẫu form upload file ko? Cái này ko áp dụng được cho kiểu type="file". Nếu có thì cho tui tham khảo với nhe

Tra loi

NữThần 2007-10-04 12:32:36

Nếu vậy thì cài bản khác đi.
Lúc trước tui cũng gặp tình huống vậy, sau khi cài lại bản khác là ok! Không hiểu vì sao????

Bản khác là bản nào vậy đại ca, bản mới nhất mà không được à?Chắc là code của pa TG chưa rào hết các tình huống đấy,mình phải tập trung tấn công TG, để pa hoàn chỉnh nó, hiểu chưa?
:D

Tra loi

TG 2007-10-04 12:52:48

chùi, dã man ,tấn công để hoàn thiện :D

Tra loi

NữThần 2007-10-27 11:02:37

A, tui đã biết nó bị lỗi gì rùi, nhưng không biết cách khắc phục, do trang của TG là có cái đoạn BASIC_HREF fix url trên IE, còn chúng ta đem xài riêng lẻ, nên gặp lỗi.
TG xem lại coi sao nha !

Tra loi

changtraingheo 2007-10-31 03:21:03

nếu dữ liệu trả về là một đoạn code javascript, thì làm sao để nó chạy nhỉ

Tra loi

cảm ơn 2008-03-19 06:08:08

code này rất hay ! Cộng đồng nhiệt tình ghê !

Tra loi

hachikun 2008-05-02 08:56:42

ajax một công nghệ hoàn hảo!

Tra loi

huy 2009-02-16 11:45:15

hay qua ah tht tu wegf sdgv  

Tra loi

huy 2009-02-16 11:45:33

gnbfgn  rt  rthj rgh rt rth rt

Tra loi

bài hay quá 2009-07-12 04:25:44

Bài của TG hay quá, tiếp tục viết nhiều bài hay hơn nữa nha ^^

Tra loi

cóc 2009-07-13 10:14:42

code này rất hay ! Cộng đồng nhiệt tình ghê !

Bài của TG hay quá, tiếp tục viết nhiều bài hay hơn nữa nha ^^


Pa TG này lăng xê 1 cách trắng trợn :D

Tra loi

TG 2009-07-13 02:32:19

Chời nghĩ sao mà TG mà lại tự khen mình :D, TG tự cảm thấy mình pro rồi nên đâu cần viết lên để khen nữa :)), nói chứ không phải TG tự lăng xê :)

Tra loi

cóc 2009-07-13 02:35:38

Chời nghĩ sao mà TG mà lại tự khen mình :D, TG tự cảm thấy mình pro rồi nên đâu cần viết lên để khen nữa :)), nói chứ không phải TG tự lăng xê :)


Koi nó kìa, chịu nổi hem, xấu hổ ghê >_<

Tra loi

changtraingheo 2009-07-13 03:53:16

trùi .. pa Cóc nói chuyện kiểu teen nữa mới ghê

Tra loi

Về Đâu 2009-07-13 08:26:48

Chài ai ông Tê Gờ này giờ rồ rồi à hê hê cheer

Tra loi

Ngoc Tan 2009-08-04 04:30:28

Bạn cho mình hỏi. Vậy nếu mình muốn giữ lại cái forum nhập dữ liệu thì mình phải làm sao?
Ví dụ:
Mới vào mình có forum nhập liệu
Nhưng sau khi bấm nút Submit thì nó xuất ra giá

Ý của tôi là muốn nó chỉ RELOAD lại cái nội dung xuất ra cuối thôi.(tức là khi bấm SUBMIT thì cái form vẫn nằm ở đó đồng thời nó chỉ RELOAD phần xuất nội dung)
Mong được giúp đỡ

Tra loi

choncon 2009-08-04 07:34:14

code nay loi day ra cac ban dung co theo

Tra loi

boyboy 2010-04-17 01:20:22

Bài khá hay, cám ơn bạn.

Tra loi

Y kien