View Full Version : سوال: آیا جاوااسکریپت action array داره؟
Mori Bone
پنج شنبه 30 مرداد 1393, 21:25 عصر
سلام به همه دوستان.
یه سری اطلاعات دارم که توی آرایه ذخیره می کنم به شکل زیر:
var messageData = {
"emptyusername" : [ 'لطفا نام کاربری را وارد کنید.' , '#usernameInput' , alert('asd') ] ,
"emptypassword" : [ 'لطفا رمزعبور را وارد کنید.' , '#passwordInput'] ,
"wrongusername" : [ 'این نام کاربری وجود ندارد.' , '#usernameInput' ]
};
می خوام وقتی کده زیر فراخوانی شد اون alert نشون داره بشه. آیا امکان داره؟
messageData["emptyusername"][2];
2undercover
پنج شنبه 30 مرداد 1393, 21:37 عصر
خیر همچین قابلیت نداره. می تونید از توابع بی نام استفاده کنید:
var arr = [..., function() {alert('Message');}];
arr[index][anonymFunctionIndex]();
Mori Bone
پنج شنبه 30 مرداد 1393, 21:39 عصر
خیر همچین قابلیت نداره. می تونید از توابع بی نام استفاده کنید:
var arr = [..., function() {alert('Message');}];
arr[index][anonymFunctionIndex]();
میشه اینچیزی که گفتین رو تو کد من جایگزین کنید. دست گلتون درد نکنه
حدودا میشه یه همچین چیزی:
Javascript Array of Functions (http://stackoverflow.com/questions/4908378/javascript-array-of-functions)
Mori Bone
پنج شنبه 30 مرداد 1393, 22:04 عصر
خودم ردیفش کردم. به صورت زیر شد:
این آرایم:
var messageData = {
"emptyusername" : ['لطفا نام کاربری را وارد کنید.', '#usernameInput' ] ,
"emptypassword" : ['لطفا رمزعبور را وارد کنید.', '#passwordInput'] ,
"wrongusername" : ['این نام کاربری وجود ندارد.', '#usernameInput' , undefined , { "actions" : [ function(){ resetForm() } ] } ]
};
فراخوانی:
messageData[data][3]["actions"][0].call();
پیمایشی:
for(var action in messageData[data][3]['actions']) {
messageData[data][3]['actions'][action].call();
}
این فانکشنم:
function resetForm() {
document.getElementById('dataForm').reset();
}
این تاپیک رو هم به عنوان آموزش در نظر بگیرید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.