PDA

View Full Version : سوال: مشکل با توابع در آژاکس



i-php-i
چهارشنبه 14 اردیبهشت 1390, 02:54 صبح
من برای ارسال یه خبر به کمک آژاکس، از کدهای زیر استفاده می کنم. دو تا سوال دارم.

سوال اول چرا موقعی که کاربر فرم رو ارسال می کنه، بدون نمایش عنوان خبر، فرم تحویل داده می شه؟

سوال دوم: چطور می تونم در شرایطی که کاربر جاوا اسکریپت رو غیر فعال کرده باشه، از ارسال فرم جلوگیری کنم؟ (یعنی فقط از طریق کدهای آژاکس فرم رو تحویل سرور بدم)

صفحه HTML

<!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>
<script type="text/javascript" src="../editor/jscripts/tiny_mce/tiny_mce.js"></script>
</head>

<body>
<form id="form1" name="form1" method="post" action="new.php" onSubmit="return process()" >
<label>عنوان مقاله
<input name="Title" type="text" id="Title" maxlength="300" size="100" value="<?php echo "$_POST[Title]"; ?>" />
</label>

<textarea id="text" name="text" rows="15" cols="90"><?php echo "$_POST[text]"; ?></textarea>

<input name="sent_news" type="hidden" id="sent_news" value="yes" />
<input type="submit" value="ارسال"/>
</form>
</body>
</html>کد جا وا اسکریپت


function process()
{
var ntr = document.getElementById('Title').value;
alert ('ntr');
return false;
}

hossin.esm
چهارشنبه 14 اردیبهشت 1390, 08:42 صبح
در رابطه با سوال اول برای من مشکلی وجود نداره و عنوان را نمایش میده.

alert (ntr);


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

i-php-i
چهارشنبه 14 اردیبهشت 1390, 14:10 عصر
در رابطه با سوال اول برای من مشکلی وجود نداره و عنوان را نمایش میده.

alert (ntr);


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

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

چیکار باید بکنم؟

AMIBCT
چهارشنبه 14 اردیبهشت 1390, 15:08 عصر
با كمك جاوااسكريپت مشخصه‌ي action رو مقدار دهي كنيد( مقدار پيش‌فرضش "#" باشه )

i-php-i
چهارشنبه 14 اردیبهشت 1390, 15:19 عصر
با كمك جاوااسكريپت مشخصه‌ي action رو مقدار دهي كنيد( مقدار پيش‌فرضش "#" باشه )
می شه بگید چطور باید به کمک جاوا اسکریپت مشخصه actionرو مقدار دهی کنم؟ منظورتون اینه که این مقدار رو خالی بذارم و موقع ارسال فرم، به کمک یه کد مثل کد زیر این مشخصه رو مقداردهی کنم؟

xmlHttp.open("POST","ajax.php",true);
xmlHttp.onreadystatechange=handleServer();
xmlHttp.send('pTitle=' + ptitle);
لطفا توضیح بدید.

hossin.esm
پنج شنبه 15 اردیبهشت 1390, 09:44 صبح
سلام
دلیلش چی هست که حتما باید از فرم استفاده کنید.
یک div به جای فرم بگذارید و تکست باکس ها و ... را در ان قرار دهید.
و همونطور که گفتم اگر جاوا اسکریپت غیر فعال باشه نمی تونید از آژکس استفاده کنید.

i-php-i
پنج شنبه 15 اردیبهشت 1390, 11:35 صبح
سلام
دلیلش چی هست که حتما باید از فرم استفاده کنید.
یک div به جای فرم بگذارید و تکست باکس ها و ... را در ان قرار دهید.
و همونطور که گفتم اگر جاوا اسکریپت غیر فعال باشه نمی تونید از آژکس استفاده کنید.

آیا اصلا لازم هست که موقع استفاده از آژاکس، از فرم ها استفاده کرد؟ شما چه روشی به کار می برید؟

hossin.esm
پنج شنبه 15 اردیبهشت 1390, 11:59 صبح
آیا اصلا لازم هست که موقع استفاده از آژاکس، از فرم ها استفاده کرد؟ شما چه روشی به کار می برید؟
نه لازم نیست موقع استفاده از آژکس از فرم استفاده کنید. ولی استفاده از فرم باعث بالا رفتن خوانایی میشود و در صورتی که ارسال اطلاعات با آژاکس دچار مشکل شد با فرم ارسال شود.
من از فرم استفاده میکنم تا در صورت خطا در آژاکس اطلاعات با فرم ارسال شود. ولی اگر ارسال اطلاعات باید فقط با آژکس باشه فرم را حذف میکنم.