PDA

View Full Version : سوال: ارسال متغیر به خود صفحه با ajax



yeksib
سه شنبه 06 فروردین 1392, 21:20 عصر
سلام ،
دوستان من میخواستم بدونم چجوری میتونم متغیر ها رو به خود صفحه با استفاده از ajax ارسال کنم معمولا اینطوری که آدرس Process یک صفحه ی دیگه هستش ! من میخواهم به خود همان صفحه مبدا ارسال بشه و پاسخ بگیره!
آیا میشه !؟ چطوری!؟
متشکرم !

linuxUser
چهارشنبه 07 فروردین 1392, 00:19 صبح
سلام دوست عزیز
یه صفحه بساز به اسم test1.php بعد کد زیر توش کپی کن:

<?php

if(isset($_POST['data1']) && isset($_POST['data2']))
{
echo $_POST['data1'] + $_POST['data2'];
}
else
{
?>
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script type="text/javascript">
function test(){
var d1 = $("#data1").val();
var d2 = $("#data2").val();
$.ajax({
type: "POST",
url: "test1.php",
data: {'data1':d1, 'data2':d2},
success: function(sum){
$("#sum").val(sum);
},
failure: function(errMsg) {
alert(errMsg);
}
});
}
</script>
</head>
<body>
<div> </div>
data1:<input type="text" id="data1" />
data2:<input type="text" id="data2" />
<br />
sum:<input type="text" id="sum" />
<br />
<input type="button" value="Calculate Sum" onclick="javascripst:test();" />
</body>
</html>
<?php
}
?>
یه مثال خیلی ساده هست که فقط دو تا داده با هم چمع می کنه و حاصل نشون می ده

مهرداد سیف زاده
یک شنبه 11 فروردین 1392, 10:18 صبح
نمیشه همین رو توسعه داد مثلا بصورت زیر
اگر جمع دو تا عدد بزرگتر از 10 شد نشون داده بشه = جمع عدد بزگتر از 10 شده است
اگر جمه دو تا عدد کوگکتر شد نشون بده = جمع دو عدد کوچکتر از 10 شده است.

من هر چقدر مقدار برگشتی رو با val گرفتم و در if بررسی کردم دیدم جواب نمبده. میشه راهنمایی کنید یا منابعی که درباره این موضوع صحبت کردن رو هم معرفی کنید کافیه

linuxUser
دوشنبه 12 فروردین 1392, 01:53 صبح
من یه شرط گذاشتم که اگه sum بزرگتر از 10 بود یه پیام بده، مشکلی نداشت.
function test(){
var d1 = $("#data1").val();
var d2 = $("#data2").val();
$.ajax({
type: "POST",
url: "test1.php",
data: {'data1':d1, 'data2':d2},
success: function(sum){
$("#sum").val(sum);
if(sum > 10)
alert(sum);
},
failure: function(errMsg) {
alert(errMsg);
}
});
}

مهرداد سیف زاده
دوشنبه 12 فروردین 1392, 20:54 عصر
[QUOTE=linuxUser;1734276]من یه شرط گذاشتم که اگه sum بزرگتر از 10 بود یه پیام بده، مشکلی نداشت.

دستت درد نکنه ولی هر چقدر زدم دیدم کار نمیکنه
بجای این که مقادیر رو بر گردونه میشه کاری کرد کلا اسکریئت برگردونه
من برای ajax کردن یه فرم لاگین این کار و کردم.
اول میخواستم اگه نام کاربری و پسورد صحیح بود عدد برگردونه و من تصمیم بر ورود بگیرم بعد دیدم کار نمیکنه تابع php رو بصورت زیر نوشتم که data رو کد برمیگردونه. فقط یه نگاه کنید راهنمایی کنید این طور نوشتن صحیحه و مشکل امنیتی نداشته باشه



<?php

if(login == true){
echo "<script>$('#login_form').css('display','inline');</script>";
}else{
echo "<script>$('#login_form').css('display','none');</script>";
}

?>