PDA

View Full Version : ai rành về js cho mình hỏi xíu!! làm ơn...



to@n
12-01-2011, 21:47
là tại sao cái hàm xmlhttp.responseText; trả về string cho biến của js. biến có thể document.write dc ra màn hình rồi... nhưng khi mình xài hàm slice() để đọc vài ký từ biến đó thì ko hiện j nữa!

đây ví dụ đây:

ab = xmlhttp.responseText;

document.write(ab) // ra 1 chuỗi đúng theo ý minh.
khi hàm trên dc thay bằng cái dưới
document.write(ab.slice(0,5))// thì nó chả ra cái j cả:(...

->>> mình có sử dụng hàm slice() với biến bình thường rồi và nó cắt ngon lành. nhưng đối với biến do xmlhttp.responseText; trả về thì ko dc.

mong mọi người giúp mình vụ nan y này với, cảm ơn nhìu:x

nnanh01
12-01-2011, 22:39
Đưa đoạn code chính thức lên để người còn biết cái ông nhận về là cái gì?

Như thế này lấy gì test cho đc.

to@n
12-01-2011, 22:52
đây bạn ơi

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>dom example</title>
</head>

<?php
// dll
if(!isset($_GET["q"]))
{
include('simple_html_dom.php');
// lay dia chi
$html = file_get_html('http://ketquaday.vn/ket-qua-xo-so-mien-bac.8x36');///http://kqxs.vn/xoso/MB/MB
//__loc dữ liệu từ trang xổ số
foreach($html->find('div#txtLottery') as $e)//le_ketqua
echo $e->innertext() . '<br>';
}
if(isset($_GET["q"]))
{
//__________lay thong
$q = trim($_GET["q"]);

//____________ghi thong tin
$f = fopen("data.txt","w")or exit("ko ghi dc!");
fwrite($f,$q);
fclose($f);
//__________________________________________________ ________________
// doc thong tin
$f = fopen("data.txt","r")or exit("ko ghi dc!");
$kq = fgets($f);
fclose($f);
//_________chia cac thong tin thanh mang nho
$mang = explode(",",$kq);
//___________loc thong tin va chuyen vao mang
for($i=0; $i<=8; $i++)
{
$m[$i] = preg_replace("/[^0-9]/", "",$mang[$i]);


echo $m[0].$m[$i];
}
die();
}
?>

<!--tao ham gui lay thong tin tu php va gui du lieu leu xu ly (JS)-->
<script type="text/javascript">
//___nhan thong tin va gui__
function guiYeuCau(str)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("re").value=xmlhttp.responseText;
xi = xmlhttp.responseText;
document.write(xi.substring(0,9));

}
}
xmlhttp.open("GET","test_data.php?q="+str,true);
xmlhttp.send();
}
//______x chứa mảng của tất cả giá trị tag tr
x = document.getElementsByTagName("tr");
y= "";
for(i=1; i<=8; i++)
{
//guiYeuCau(x[i]);
y+=x[i].innerHTML+',';
function gui()
{
guiYeuCau(y);
}
}

//__________tu chay
function run()
{
gui();
}
//___onload_______
window.onload=run;
//_______lay______
function lay()
{
var xi=document.getElementById("re");
var xo=xi.value;
document.write(valueOf(xo));
}
</script>
<input name="re" type="text" id="re" size="1" />
<button type="button" onClick="lay()">lay du lieu</button>
<div id="re2" style="color:green;"></div>

[=========> Bổ sung bài viết <=========]

cái mình nhận về là 1 dãy số từ php trả về . và đơn giản mình chỉ muốn cắt nhỏ dẫy số đó document.write(xi.substring(0,9)); đấy