PDA

View Full Version : سوال: عدم کارکرد یک کد ساده ی ajax



prince4prodigy
جمعه 05 آبان 1391, 11:48 صبح
من یک کد ساده ی ajax دارم که میخوام با زدن یک دکمه که در رویداد onclick اون یه تابع به اسم SENDCODE دارم کد های مربوطه اجرا بشه ولی کار نمیکنه.

این کد jQuery:
function SENDCODE(){
var c = $('#code').val()
var uu = "getajax.php?c="+c;
$.ajax({
url:uu,
success: function(data){
$('#name').val(data);
}

})
}

اینم صفحه ای برای گرفتن کد که php هست و با نام getajax.php:

<?php


$link = mysql_connect("localhost","root","");
mysql_select_db("site1",$link);
$d = mysql_query("select * from city where code='$_GET[c]'",$link);
if(mysql_num_rows($d==0))
print "Not Found";
else {
$d = mysql_fetch_assoc($d);
print $d["name"];
}

?>


اینم HTML:

<input type="button" onclick="SENDCODE()" value="Get" />
<input type="text" id="code" name="code">
<input type="text" id="name" name="name">


بعد از اجرای صفحه وکلیک نوشتن کد و کلیک کردن هیچ اتفاقی نمیوته.
توی جدول دیتابیس هم دوتا ستون داریم با نام های code و name که به ترتیب شامل کد و نام شهز هستن.

plague
جمعه 05 آبان 1391, 15:37 عصر
به نظر درست میاد احتمالا اررور سینتکس داری یا یه اسم چیزی رو درست ننوشتی
فایرباگ رو نصب کن روی فایر فاکس بعد تست کن ببین مشکل از چیه

prince4prodigy
جمعه 05 آبان 1391, 16:16 عصر
ممنون از راهنماییتون.مشکل حل شد.
وقتی تابع SENDCODE رو توی عملکردِ صفحه ی آماده میزارم کار نمیکنه , و وقتی اونو در آخرِ کد میزارم کار میکنه.
واقعا نمیدونم چرا اینطوری شده و مشکل از کجاست.

masudafsar
جمعه 05 آبان 1391, 20:37 عصر
اولین خطا( در PHP ):


$d = mysql_query("select * from city where code='$_GET[c]'",$link);

عبارت :


$_GET[c]

باید بصورت زیر نوشته می شد.


$_GET["c"]

__________________

تو قسمت jQuery هم می تونی از تابع load بجای ajax استفاده کنی. خیلی کار با اون آسون تره.

من کد تو رو کمی تغییر دادم که برات ضمیمه کردم.در ضمن چون از تابع load استفاده کردم باید تو PHP مقدار code رو با متغیر بدست بیاری.


$_REQUEST['code']