PDA

View Full Version : سوال: من چه طوری می تونم فرم php رو به صورت ای جکسی کنم؟



vimax65
دوشنبه 12 مهر 1389, 03:41 صبح
سلام
من چه طوری می تونم فرم php رو به صورت ای جکسی کنم؟
روی دکمه ارسال زدم بعد اطلاعات صفحه 2 نشون میده.
ای جکسی : روی دکمه ارسال زدم اطلاعات صفحه 2 همون جا نشون بده.
کسی سمپل داره یاد بگیرم؟
ممنون

proSPY
چهارشنبه 21 مهر 1389, 18:28 عصر
سلام
یک مثال تخیلی برات میزنم
فایل index.html:


<html>
<head>
<script type="text/javascript">
function check()
{
document.getElementById("txtHint").innerHTML="";
user=document.getElementById('uname').value;
pass=document.getElementById('pass').value;


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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","user.php?u="+user+"&p="+pass,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>

uname :<input type="text" name="uname" id="uname"><br>
pass:<input type="password" name="pass" id="pass"><br>
<input type="button" name="send" id="send" value="Button" onClick="check()">
</form>
<br />
<div id="txtHint"><b>etelat inja neshoun dade mishe</b></div>

</body>
</html>




و فایل user.php :


<?php
$u=$_GET["u"];
$p=$_GET["p"];
echo "<table border='1'>
<tr>
<th>username</th>
<th>password</th>
</tr>";
echo "<tr>";
if($p=='123')
{
echo "<td>".$u."</td>";
echo "<td>".$p."</td>";
}
else
{
echo "<td colspan=\"2\"> Password eshteb mibashad! </td>";
}
echo "</tr>";
echo "</table>";
?>



طرز کار اینجوریه که در صفحه اول user و pass از طریق تابع check به صفحه user.php فرستاده میشه و اونجا اگر pass برابر 123 باشه user و pass به همراه یک جدول برگشت داده میشه در غیر این صورت پبغام pass اشتباه است به صفحه index برگشت داده میشه .
سوال ؟

vimax65
چهارشنبه 21 مهر 1389, 20:32 عصر
آقا خیلی ممنون از سمپلی که زدی.
فقط من فرمم فرق داره هر کاری کردم نتونستم با استفاده از نمونه های ای جکسی کاری کنم اون سابمیته فلان شده صفحه بعد نره!!
:(

proSPY
پنج شنبه 22 مهر 1389, 06:46 صبح
آقا خیلی ممنون از سمپلی که زدی.
فقط من فرمم فرق داره هر کاری کردم نتونستم با استفاده از نمونه های ای جکسی کاری کنم اون سابمیته فلان شده صفحه بعد نره!!
:(

آره دیگه مشکلت همینجاست که از دکمه ای از نوع سابمیت استفاده کردی

<input type="submit" value="Submit" />برای حلش که سابمیت نشه میتونی دو کار رو بکنی که به جای سابمیت با تابع js کار کنی (یعنی همین مثالی که زدم )
اول) اینکه بگی فرم اصلا سابمیت نشه ("onsubmit="return false) و با onclick دکمه submit با تابع js کارکنی .

<form action="harchi.php" method="get" onsubmit="return false;">
<input type="submit" value="Submit" onclick="check.php" /> و دوم اینکه دکمه ای از نوع submit نداشته باشی ( مثال حالتی که در مثال گفتم)

<form>

uname :<input type="text" name="uname" id="uname"><br>
pass:<input type="password" name="pass" id="pass"><br>
<input type="button" name="send" id="send" value="Button" onClick="check()">
</form>

proSPY
پنج شنبه 22 مهر 1389, 06:49 صبح
آقا خیلی ممنون از سمپلی که زدی.
فقط من فرمم فرق داره هر کاری کردم نتونستم با استفاده از نمونه های ای جکسی کاری کنم اون سابمیته فلان شده صفحه بعد نره!!
:(
اگه مشکلت حل نشد فرمت رو بزا ببینیم چیکار میتونیم بکنیم :لبخندساده:

vimax65
پنج شنبه 22 مهر 1389, 19:51 عصر
سلام

ببین اینه:



<?php require_once('Connections/cn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

mysql_select_db($database_cn, $cn);
$query_rsln = "SELECT id, title, `date` FROM news WHERE active = '1' ORDER BY id DESC";
$rsln = mysql_query($query_rsln, $cn) or die(mysql_error());
$row_rsln = mysql_fetch_assoc($rsln);
$totalRows_rsln = mysql_num_rows($rsln);
mysql_select_db($database_cn, $cn);
$query_rsset1 = "SELECT rss FROM setting WHERE id = 1";
$rsset1 = mysql_query($query_rsset1, $cn) or die(mysql_error());
$row_rsset1 = mysql_fetch_assoc($rsset1);
$totalRows_rsset1 = mysql_num_rows($rsset1);

@session_start();

$ip =$_SERVER["REMOTE_ADDR"];
$refer = $_SERVER["HTTP_REFERER"];
date_default_timezone_set('Asia/Tehran');
$date = date("Y/m/d");
$time = date("h:i:s a", time());
$week = date("Y W");
if ( isset($_SESSION["name"])){
$type =$_SESSION["name"] ;}else{
$type = "ناشناس";}
$qsa = "INSERT `vo_counter`
(ip,refer,date,time,week,type)
VALUES
('$ip','$refer','$date','$time','$week','$type')";
mysql_query($qsa);

mysql_select_db($database_cn, $cn);
$qsdaycount = "SELECT id FROM vo_counter where vo_counter.`date` = '$date' group by ip";
$dcont = mysql_num_rows(mysql_query($qsdaycount));
$Y= date("Y");
$M= date("m");
$D =date("d")-1 ;
$ddate = $Y."/".$M."/".$D;
mysql_select_db($database_cn, $cn);
$dqsdaycount = "SELECT id FROM vo_counter where vo_counter.`date` = '$ddate' group by ip";
$ddcont = mysql_num_rows(mysql_query($dqsdaycount));
$weekc = date("Y W");
mysql_select_db($database_cn, $cn);
$dqsweekcount = "SELECT id FROM vo_counter where vo_counter.`week` = '$weekc' group by ip";
$dwcont = mysql_num_rows(mysql_query($dqsweekcount));

$Y= date("Y");
$M= date("m");
$mdate = $Y."-".$M."-";
mysql_select_db($database_cn, $cn);
$query_rsmcont = "SELECT id FROM vo_counter WHERE `date` LIKE '$mdate%' group by ip";
$rsmcont = mysql_query($query_rsmcont, $cn) or die(mysql_error());
$row_rsmcont = mysql_fetch_assoc($rsmcont);
$totalRows_rsmcont = mysql_num_rows($rsmcont);

$Y= date("Y");
mysql_select_db($database_cn, $cn);
$query_rsmcont2 = "SELECT id FROM vo_counter WHERE `date` LIKE '$Y%' group by ip";
$rsmcont2 = mysql_query($query_rsmcont2, $cn) or die(mysql_error());
$row_rsmcont2 = mysql_fetch_assoc($rsmcont2);
$totalRows_rsmcont2 = mysql_num_rows($rsmcont2);

mysql_select_db($database_cn, $cn);
$query_rsmember = "SELECT id FROM member";
$rsmember = mysql_query($query_rsmember, $cn) or die(mysql_error());
$row_rsmember = mysql_fetch_assoc($rsmember);
$totalRows_rsmember = mysql_num_rows($rsmember);

mysql_select_db($database_cn, $cn);
$allcount = "SELECT id FROM vo_counter group by ip";
$acont = mysql_num_rows(mysql_query($allcount));
?><?php require_once('Connections/cn.php'); ?>
<?php

$maxRows_rsrand = 15;
$pageNum_rsrand = 0;
if (isset($_GET['pageNum_rsrand'])) {
$pageNum_rsrand = $_GET['pageNum_rsrand'];
}
$startRow_rsrand = $pageNum_rsrand * $maxRows_rsrand;

mysql_select_db($database_cn, $cn);
$query_rsrand = "SELECT * FROM website_detail group by website ORDER BY RAND()";
$query_limit_rsrand = sprintf("%s LIMIT %d, %d", $query_rsrand, $startRow_rsrand, $maxRows_rsrand);
$rsrand = mysql_query($query_limit_rsrand, $cn) or die(mysql_error());
$row_rsrand = mysql_fetch_assoc($rsrand);

if (isset($_GET['totalRows_rsrand'])) {
$totalRows_rsrand = $_GET['totalRows_rsrand'];
} else {
$all_rsrand = mysql_query($query_rsrand);
$totalRows_rsrand = mysql_num_rows($all_rsrand);
}
$totalPages_rsrand = ceil($totalRows_rsrand/$maxRows_rsrand)-1;
?>






<?php if(isset($_SESSION['cuser']) && $_SESSION['cid']==session_id())
{ ?>
<h2 dir="rtl">بخش مدیریت - (<a href="logout.html">خروج <?php @session_start(); echo $_SESSION['cuser']; ?></a>)</h2><div class="bg"></div>
<a href="edit_information.html">تغییر مشخصات</a><br />
<a href="change_password.html">تغییر رمز عبور</a><br />
<?php
}
else
{ ?>
<h2>ورود به بخش مدیریت</h2><div class="bg"></div><br />
<form action="checkpass.php" method="post">
نام کاربری <input name="username" type="text" id="username" value="" size="25" class="text"/><br /><br />
رمز عبور&nbsp;&nbsp; <input name="password" type="password" id="password" value="" size="25" class="text"/><br /><br />
<input value="ورود" type="submit" />
<label>
<input type="checkbox" name="checkbox" id="checkbox" />
ذخیره مشخصات
</label><br /><br />
<a href="register.html">ثبت نام</a> |<a href="forget_password.html"> یادآوری کلمه عبور</a><br /><br />
</form>
<?php }?>



<?php
mysql_free_result($rsln);
?>


این فرم لاگین روی ساید باره...بعد یه action="checkpass.php" داره اینم چک پس دات پی اچ پیش:



<?php require_once('Connections/cn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$colname_rs1 = "-1";
if (isset($_POST['username'])) {
$colname_rs1 = $_POST['username'];
}
mysql_select_db($database_cn, $cn);
$query_rs1 = sprintf("SELECT * FROM member WHERE username = %s AND active=1", GetSQLValueString($colname_rs1, "text"));
$rs1 = mysql_query($query_rs1, $cn) or die(mysql_error());
$row_rs1 = mysql_fetch_assoc($rs1);
$totalRows_rs1 = mysql_num_rows($rs1);




?>
<?php
if($totalRows_rs1>0){
$adminuser = $_POST["username"];
$adminpass = $_POST["password"];
include ("Connections/cn.php");$cont=0;
$s = mysql_connect($hostname_cn, $username_cn, $password_cn)
or die("Couldn't connect to SQL Server on $myServer");
$d = mysql_select_db($database_cn, $s)
or die("Couldn't open database $myDB");
$query = "SELECT * FROM member";
$result = mysql_query($query);
$hashpass = sha1(md5($adminpass));
$numRows = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
if ($adminuser == $row["username"] && $hashpass == $row["password"])
{
@session_start();
$_SESSION["cuser"]=$adminuser;
$_SESSION["cid"]=session_id();
echo "<script language='javascript'>
window.location='panel.php';
</script>"; $cont++;
}}}
else
{
echo "<script language='javascript'>
window.location='login.php';
</script>";}
if($cont==0){
echo "<script language='javascript'>
window.location='login.php';
</script>";
}
mysql_free_result($rs1);

?>




وقتی من یوزر پسورد رو میدم فرم میبره به چک پس و اگه درست باشه جای فرم یه فرم جدید با نام تغییر مشخصات و تغییر کلمه عبور میاد.
من چه طوری می تونم ای جکسیش کنم؟
بدون اینکه ثابمیت ببره منو به یه صفحه دیگه

proSPY
دوشنبه 26 مهر 1389, 05:58 صبح
سلام
به این فایلها خوب توجه کن :

فایل اول ( index.php ) :

<!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>Untitled Document</title>
<script>
var xhr;
function start()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xhr= new XMLHttpRequest();

}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xhr= new ActiveXObject("Microsoft.XMLHTTP");
}
}

function send_data()
{
var u=document.getElementById('user').value;
var p=document.getElementById('pass').value;
var target='cup.php';
data='username='+u+'&password='+p;
xhr.open('POST',target,true);
xhr.onreadystatechange=function()
{
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
var res=xhr.responseText;
if(res==1)
{
document.getElementById('message').innerHTML='';
document.getElementById('content').innerHTML='<a href="logout.php" >خروج</a>';
}
else
document.getElementById('message').innerHTML="! نام کاربری یا کلمه عبور اشتباه است " ;
}
}
}
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(data);
}
</script>
</head>

<body onload="start()">
<div id="content">
<form>
user name : <input type="text" id="user" /><br />
password : <input type="password" id="pass" /><br />
<input type="button" value="check user and password with Ajax" onclick="send_data()" />
</form>
</div>
<div id="message" style="color:#F00; font-size:24px"> </div>
</body>
</html>



فایل دوم ( cup.php ) : که این فایل کار چک کردن پسورد رو انجام میده


<?php
if($_POST['username']=='ali' && $_POST['password']=='123')
{
echo 1;
}
else
echo 0;
?>
وفایل (logout.php) : این فایل برای خروج کاربر استفاده میشه .


<?php
header('location:index.php');
?>


خب میرسیم به توضیحش :

نکته اول اینکه برای کار با ای جکس به یک شئ از نوع XMLHttpRequest نیاز داریم .


<body onload="start()">

این قسمت میگه که با لود شدن صفحه تابع start رو اجرا کن.
ببینیم این تابع کارش چیه :

var xhr;
function start()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xhr= new XMLHttpRequest();

}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xhr= new ActiveXObject("Microsoft.XMLHTTP");
}
}

اول اینکه متغییر xhr که بصورت سراسری تعریف شده همون متغییریه که میخواد یک شئ از نوع XMLHttpRequest بشه .
و نکته شئ XMLHttpRequest در مرورگرهای قدیمی مثل ie6 بصورت یک ActiveX پیاده سازی شده و در بسیاری از مرورگر ها بصورت یک شئ ذاتی جاوا اسکریپت .
و کار تابع start هم همینه که در هرصورت یک شئ XMLHttpRequest رو به متغییر xhr نسبت میده.

میرسیم به فرم:


<div id="content">
<form>
user name : <input type="text" id="user" /><br />
password : <input type="password" id="pass" /><br />
<input type="button" value="check user and password with Ajax" onclick="send_data()" />
</form>
</div>

نکته اول : تگ div به این خاطر استفاده شده که اگر نام کاربری و پسورد درست بود محتوای این تگ که فرم باشه از بین بره و بجاش عملیات رو مشاهده کنه.

نکته بعدی در اینه که دکمه از نوع button است و نه submit،چون اگر از نوع submit باشه فرم بعد از کلیک ارسال میشه که چون قرار است فرم ای جکسی باشه کار رو خراب میکنه.

<div id="message" style="color:#F00; font-size:24px"> </div>

این تگ هم به این خاطر استفاده شده که اگریوزر و پسورد اشتباه بود پیغامی نشون داده بشه.

خب حالا بعد از کلیک روی این دکمه به تابع send_data رفته میشه که در پائین توضیح میدم.


function send_data()
{
var u=document.getElementById('user').value;
var p=document.getElementById('pass').value;
var target='cup.php';
data='username='+u+'&password='+p;
xhr.open('POST',target,true);
xhr.onreadystatechange=function()
{
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
var res=xhr.responseText;
if(res==1)
{
document.getElementById('message').innerHTML='';
document.getElementById('content').innerHTML='<a href="logout.php" >خروج</a>';
}
else
document.getElementById('message').innerHTML="! نام کاربری یا کلمه عبور اشتباه است " ;
}
}
}
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(data);
}

توضیح :

var u=document.getElementById('user').value;
var p=document.getElementById('pass').value;
var target='cup.php';
data='username='+u+'&password='+p;


در این قسمت مقدار فیلد یوز و پسوورد درون دو متغیر u و p ریخته میشه.
و اینکه اطلاعات به کجا فرستاده بشه در متغییر target و چه اطلاعاتی فرستاده بشه در متغییر data.



xhr.open('POST',target,true);
در اینجا ارتباط باز شده ( همون طور که گفتم xhr یک شئ از نوع XMLHttpRequest شد) و در چند مرحله اماده ارسال اطلاعات میشه .
قسمت اول ، متد ارسال و قسمت دوم مقصد و قسمت سوم همزمان یا غیر همزمان بودن ارسال اطلاعات رو بیان میکنه.

وقسمت بعدی:

xhr.onreadystatechange=function()
{
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
var res=xhr.responseText;
if(res==1)
{
document.getElementById('message').innerHTML='';
document.getElementById('content').innerHTML='<a href="logout.php" >خروج</a>';
}
else
document.getElementById('message').innerHTML="! نام کاربری یا کلمه عبور اشتباه است " ;
}
}
}


توجه اینکه یک ارتباط از نوع XMLHttpRequest در طی ارسال اطلاعات دائم تغییر حالت میده و اگر این دو شرط :

if (xhr.readyState == 4)
{
if (xhr.status == 200)
{

برقرار باشه نشان میده که ارسال و دریافت اطلاعات به پایان رسیده.


و ما در پراپرتی onreadystatechange تعیین میکنیم که وقتی وضعیت ارتباط عوض شد چه کاراریی انجام بشه.

قسمت بعدی:

xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(data);

درخط اول نوع اطلاعات ارسالی مشخص و در خط دوم داده ( که در اینجا یوزر و پسورد است) ارسال میشود.

نکته : فایل cup.php اگر یوزر برابر ali و پسورد برابر 123 باشه "1" و در غیر اینصورت "0" برمیگردونه
(که شما میتونی عملیات چک رو ، با بانک انجام بدی)
این شئ وضعیتش عوض میشه تا اینکه ارسال و دریافت اطلاعات به پایان برسه(اون دو شرط بالا برقرار بشه).
که فرض میکنیم این کار شده و عملیات زیر شروع میشه :

var res=xhr.responseText;
if(res==1)
{
document.getElementById('message').innerHTML='';
document.getElementById('content').innerHTML='<a href="logout.php" >خروج</a>';
}
else
document.getElementById('message').innerHTML="! نام کاربری یا کلمه عبور اشتباه است " ;

متغییر res متن برگشت داده شده رو نگه میداره.
که اگر "1" باشه به جای فرم یک لینک با عنوان "خروج" و در غیر این صورت پیغام "پسورد اشتباه است " رو نشون میده

فایل logout.php هم کار خاصی رو انجام نمیده و فقط با یک دستور header مارو به صفحه index بر میگردونه.

<?php
header('location:index.php');
?>


کل فایل ها هم ضمیمه کردم که به مشکل نخوری.

اگه سوالی بود دریغ نکن!

@AM!R!
دوشنبه 03 آبان 1389, 09:22 صبح
توضیحات شما بسیار عالیست

ولی دوست عزیز

من توی یه صفحه می خوام چند تا مقدار برگردونم

یعنی مثلا تو فایل cup.php یه select از بانک انجام بشه و بعد چند تا مقدار از cup.php به فایل index برگرده

این کار رو هم کردم ولی تو IE جواب نمی ده و با FF مشکلی نداره




<?php
$onvan=$_GET['value'];

$db=mysql_pconnect("localhost","--------------------","-----------------");

if(!$db)
{
echo " خطا ";
exit;
}
mysql_select_db("qcngoir1_data",$db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
$query="select * from program where onvan='$onvan'";

$result=mysql_query($query) or die("خطا !!");


$row=mysql_fetch_assoc($result);

$onvan1=$row['onvan'];
$mony=$row['money_n'];
$pooli=$row['pooli'];
$contact=$row['contacts'];

if(!empty($onvan1))
{
echo "document.getElementById('textmony').value='".$mony."';";
echo "document.getElementById('textcontact').value='".$contact."';";
echo "document.getElementById('text15').value='".$pooli."';";
echo "document.getElementById('text16').value='".$onvan1."';";
echo "document.getElementById('text_onvan').style.border ='solid #0F0 1px';";

}else{
$emp=" ";
echo "document.getElementById('textmony').value='".$emp."';";
echo "document.getElementById('textcontact').value='".$emp."';";
echo "document.getElementById('text15').value='".$pooli."';";
echo "document.getElementById('text16').value='".$emp."';";
echo "document.getElementById('text_onvan').style.border ='solid #F00 1px';";
}
?>


چک کردم مقدار value به این فایل می رسه اما در برگشت و در IE عکس العمل مورد نظر بدست نمیاد
text15, text16 دو تا text مخفی هستند

اینم script فراخوانی


<script>
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

function checkEDU()
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}



var model = document.getElementById("text_onvan");
var carmodel = model.options[model.selectedIndex].value;

//url='formedu_ajx.php?value='+ document.getElementById('text_onvan').value;
url='formedu_ajx.php?value='+ carmodel;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);

}
var ss;
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
try{
eval(xmlHttp.responseText);

}catch(e){
}
}

}
function ShowElementInfo(iElementId) {
if (typeof iElementId == "string" && iElementId.length > 0) {
var element = document.getElementById(iElementId);
if (element) {
alert("name=" + element.name + " - id=" + element.id);
} else {
alert("ERROR: could not find the requested element");
}
}
}
</script>

proSPY
چهارشنبه 05 آبان 1389, 23:58 عصر
ولی تو IE جواب نمی ده و با FF مشکلی نداره

سلام
فکر کنم منطورتون ie6 است چون توی نسخه های بالاتر این مشکل وجود نداره.
برای اینکه توی ie6 هم جواب درست بگیرین باید از متد :
xhr.responseXML بجای متد :
xhr.responseTextاستفاده کنین که در این صورت خروجی به صورت یک سند xml است و باید طبق قوائد xml از این خروجی استفاده نمائید.