View Full Version : عدم دسترسی به داده های اضافه شده توسط jquery در dropdownlist
na3er-faraji
یک شنبه 28 خرداد 1391, 10:53 صبح
سلام. دو تا drodpwnlist دارم. تو یکی لیست استان ها و توی یکی دیگه شهرها ست. با jquery استانی رو که انتخاب شده میگیرم. سپس سمت دیتابیس اطلاعات رو لود میکنم و بعد لیست شهرها رو اضافه میکنم. تا اینجا هیچ مشکلی نیس. اما مشکل از جایی شروع میشه که میخام Id اون شهر رو توی دیتابیس Save کنم(هنگام زدن دکمه ذخیره) سمت سرور اصلا انگار هیچ اطلاعاتی تو drodpwnlist نباشه خطا میده و میگه چیزی وجود نداره که من id ش رو بت برگردونم. در حالی که اطلاعات هست. توی سورس صفحه هم که میرم اطلاعات drodpwnlist شهر خالیه. کسی میتونه بم کمک کنه؟ مشکل من گرفتن id شهری که اضافه کردم در قسمت کدنویسی سروره؟
plague
یک شنبه 28 خرداد 1391, 15:48 عصر
برادر سوالت رو درست بپرس داستان که نمیخای تعریف کنی باید کد باشه وگرنه کسی علم غیب نداره که حدس بزنه مشکل کد شما کجاست
مشکلت الان چیه ؟ اطلاعت رو وقتی میخای ذخیره کنی سمت سرور اررور میده که اطلاعاتی نیومده ؟
اون تابع جی کوئریت که اطلاعت رو میفرسته رو بزار اینجا
na3er-faraji
یک شنبه 28 خرداد 1391, 18:04 عصر
<script type="text/javascript">
$(document).ready(function () {
$('#<%= ddlState_Name.ClientID %>').change(function (e) {
var StateId = $('#<%= ddlState_Name.ClientID %>').val();
$.ajax({
type: "POST",
url: "Handler/GetCityList.ashx",
DataType: "Json",
data: "StateId=" + StateId,
success: function (response) {
$('#<%= ddlCity_Name.ClientID %>').empty();
$('#<%= ddlCity_Name.ClientID %>').append($('<option></option>').val('0').html('-'));
$.each(response, function () {
$('#<%= ddlCity_Name.ClientID %>').append($('<option></option>').val(this['CITY_UID']).html(this['CITY_NAME']));
});
}
});
return false();
});
});
</script>
این تابع منه که اطلاعات رو به درستی میگیره و توی dropdownlist دومی هم add میکنه. تا جایی که خودم فهمیدم مشکل با EnableEventValidation هستش. وقتی صفحه رو در حالت عادی اجرا میکنم خطا میده و میگه مقدار EnableEventValidation رو false کن و وقتی false میکنم دیگه نمیتونم مقادیری رو که با jquery خونده بودم بشون دسترسی داشته باشم.
plague
یک شنبه 28 خرداد 1391, 22:33 عصر
ببینید منسی شارپ کار نمیکنم و درست نمیدونم چی به چیه توی برنامه شما ولی بهتون میگم روش کلی چجوریه که ببینی مشکل از کجاست
فرض براینه که شما میخای مقدار یه دراپ داون رو بگیری و بفرستی به صفحه سمت سرور تا توی دیتابیس ذخیره بشه
خب اینجا 2 تا مشکل ممکنه وجود داشته باشه یکی در سلکت کردن اون المنتی که مقدار مورد نظر ما داخلش (دراپ داون ) و گرفتن مقدارش یعنی این خط
var StateId = $('#<%= ddlState_Name.ClientID %>').val();
شما باید مطمئن بشید که مقدار رو درست lمیگیرید و درست به اینجا میرسه پس یکبار اینجوری بازنویسی میکنی و اجرا میکنی
var StateId = $('#<%= ddlState_Name.ClientID %>').val();
alert(StateId );
return;
اگه مقدار رو درست آلرت کرد که اینجا مشکلی نداره اگه آلرت نکرد یا اررور آلرت کرد مشکلت اینجاست
اگه مشکل از اینجا نبود اون دخط جدید رو پاک میکنی و میری قسمت بعدی
معمولا قسمت بعدی سمت سروره شما ممکنه کد سمت سرورت که حالا asp یا php ممکنه باشه دارای اررور باشه و شما متوجه اون نشده باشید
برای همین بعد از ارسال در این قسمت
success: function (response) {
})
جوابی که از سرور اومده رو آلرت میکنی تا ببینی سرور اررور نداده باشه و در این صورت با توجه به پیام اررور اقدام به رفعش کنی
success: function (response) {
alert(response);
})
این روش متداول برای رفع اینجور موارد هستش
در ضمن دیتا رو اینجوری بفرست:
data: {StateId : StateId} ,
na3er-faraji
دوشنبه 29 خرداد 1391, 16:30 عصر
دوست عزیز داده های من رفت سمت سرور. خروجی رو هم برگردوند و داده های برگشت داده شده رو به یک دراپ داون لبست بایند هم کردم. اینا چیزهایی که دارم میبینم. اما زمانی که میخام اون داده های برگشت داده شده رو توی دیتابیس ذخیره کنم میگه تو اصلا هیچی نداری مثل اینکه اونا یه چیزه مجازیه اونجا ادد شده. والا خودمم گیج شدم. شما کد من رو تست کنید میبینید کاملا درسته. فک میکنم مشکل از asp.net و همون EnableEventValidation باشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.