milad_66
07-08-2008, 17:08
سلام
یه فرم دارم که می خوام وقتی کاربر دکمه ی سابمیت رو زد اگه فرم غلطی داشت وارد صفحه ی جدید ی که توی action تگ form تعیین شده نره همونجا توی فرم بمونه و خطا ها رو به کاربر نشون بده و اگه کاربر همه ی فرم رو درست پر کرد بره به صفحه جدید . مثلا یه چیزی مثل این زیر:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تابع validate بنا به شرایطی یا false برمی گردونه یا true. اگه false باشه که کاربر توی همون فرم می مونه و در صورت true بودن میره به صفحه ی تست.
حالا فکر کنید این تابه validate توش آژاکسم باشه و ولیدیت کردن محتوای فرم توسط یه صفحه ی پی اچ پی باشه. تموم چیز هایی که از اون صفحه ی پی اچ پی هم میاد توی تابعی مثلا به اسم responseAjax تحلیلی میشه که این تابع این موقع فراخوانی میشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا مشکل کجاست؟ اینجاست که من یه متغیر گلوبال مثلا به اسمه error تعریف کردم بعد میگم توی تابع responseAjax تحت شرایطی مقدار این error عوض شه و بیرون responseAjax اون مقدار تغییر یافته رو بگیرم
ولی هی چی تلاش می کنم اینجوری نمیشه .مقدار error توی responseAjax تغییر می کنه ولی به محضه اینکه از اون میام بیرون مقدار error برمی گرده به همون مقدار قبل از فراخوانی responseAjax.
چرا اینجوری میشه؟
یه فرم دارم که می خوام وقتی کاربر دکمه ی سابمیت رو زد اگه فرم غلطی داشت وارد صفحه ی جدید ی که توی action تگ form تعیین شده نره همونجا توی فرم بمونه و خطا ها رو به کاربر نشون بده و اگه کاربر همه ی فرم رو درست پر کرد بره به صفحه جدید . مثلا یه چیزی مثل این زیر:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تابع validate بنا به شرایطی یا false برمی گردونه یا true. اگه false باشه که کاربر توی همون فرم می مونه و در صورت true بودن میره به صفحه ی تست.
حالا فکر کنید این تابه validate توش آژاکسم باشه و ولیدیت کردن محتوای فرم توسط یه صفحه ی پی اچ پی باشه. تموم چیز هایی که از اون صفحه ی پی اچ پی هم میاد توی تابعی مثلا به اسم responseAjax تحلیلی میشه که این تابع این موقع فراخوانی میشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا مشکل کجاست؟ اینجاست که من یه متغیر گلوبال مثلا به اسمه error تعریف کردم بعد میگم توی تابع responseAjax تحت شرایطی مقدار این error عوض شه و بیرون responseAjax اون مقدار تغییر یافته رو بگیرم
ولی هی چی تلاش می کنم اینجوری نمیشه .مقدار error توی responseAjax تغییر می کنه ولی به محضه اینکه از اون میام بیرون مقدار error برمی گرده به همون مقدار قبل از فراخوانی responseAjax.
چرا اینجوری میشه؟