View Full Version : سوال: فرستادن یک مقدار به یک فایل جاوا اسکریپت
peymannaji
پنج شنبه 02 آبان 1387, 11:29 صبح
با سلام
من یک تابع در یک فایل جاوا اسکریپت دارم که میخوام با کلیک بروی یک دکمه مقداری که از دیتابیس گرفتم رو درون کد جاوا قرار بدم و لازم بذکر است که این تابع که درون فایل جاوا اسکریپت است ورودی نمیگیره فقط یک روال رو اجرا میکنه .
خوب تا اینجا من فقط میتونم فایل حاوی کد جاوا اسکریپت رو به صفحه خودم چه با asp.net چه با تگهای html اضافه کنم . اما بعد از اون نمیدونم چگونه مقدار مورد نظرم رو در تابعی که درون فایل جاوا اسکریپت است قرار بدم و روال رو اجرا کنم .
دوستان اگر ممکن هست یک راهنمایی کنند تا الگوریتم پیاده سازی اون دستم بیاد .
با تشکر
raravaice
پنج شنبه 02 آبان 1387, 11:37 صبح
2 تا راه داری:
یکی اینکه اون فایل رو به صورت Dynamic ایجاد کنی (" با استفاده از ashx ترجیحا")
دوم اینکه یه متغییر عمومی توی صفحه ایجاد کنی و اون متغییر رو از سمت سرور مقدار دهی کنی و توی فایل دقیقا از همون متغییر استفاده کنی.
موفق باشید
peymannaji
پنج شنبه 02 آبان 1387, 11:59 صبح
کد داخل فایل جاوا اسکریپت بصورت زیر هست :
var timer;
var div = null;
var min_divWidth = 0;
var max_divWidth = 100
var divWidth = 0;
var injector = 2;
var interval = 30;
function animate() {
if( !div ) {
div = document.getElementById( 'div_id' );
}
if( divWidth == min_divWidth ) {
div.style.display = 'inline';
}
if( divWidth > 0 && divWidth < 100 ) {
return;
}
timer = setInterval( 'start()', interval );
}
function start() {
divWidth += injector;
div.style.width = divWidth + 'px';
if( divWidth == min_divWidth || divWidth == max_divWidth ) {
stop();
injector *= -1;
}
}
function stop() {
clearInterval( timer );
if( divWidth == min_divWidth ) {
div.style.display = 'none';
}
}
از اونجایی که من کدها رو مستقیم وارد صفحه نکردم و در فایل هست و از طرفی میخوام مقدار متغیرهایی که در ابتدا تعریف شده رو بصورت داینامیک تغییر بدم نمیدونم چکار باید کرد
peymannaji
پنج شنبه 02 آبان 1387, 12:01 عصر
2 تا راه داری:
یکی اینکه اون فایل رو به صورت Dynamic ایجاد کنی (" با استفاده از ashx ترجیحا")
دوم اینکه یه متغییر عمومی توی صفحه ایجاد کنی و اون متغییر رو از سمت سرور مقدار دهی کنی و توی فایل دقیقا از همون متغییر استفاده کنی.
موفق باشید
دوست عزیز ممنون . ممکن هست کمی بیشتر توضیح بدین در مورد راهی که فرمودید .
raravaice
پنج شنبه 02 آبان 1387, 13:27 عصر
من فرض رو بر این میگیرم که متغییرinjector قرار هست که از سمت سرور مقدار بگیره.
پس داخل صفحه دارم :
<html>
<head>
<script>
var injector = <%=injector%>;
</script>
<script src='myfile.js' />
</head>
<body>
.
.
.
.
</body>
</html>
حالا از سمت سرور :
public injector as integer = 2
var injector = 2 هم از توی فایل js برداشته میشه.
موفق باشید
peymannaji
پنج شنبه 02 آبان 1387, 14:50 عصر
دوست عزیز ممنون از محبتتون . مشکلم حل شد . ولی کاشکی میشد همین یک خط رو هم تو خود فایل قرار میدادیم آیا میشه این کار رو کرد ؟
var injector = <%=injector%>;
raravaice
پنج شنبه 02 آبان 1387, 16:32 عصر
باید از راه اولی که گفتم استفاده کنی ashx کار پیچیده میشه و احساس میکنم برای کار شما لازم نیست این کار انجام بشه.
موفق باشید
peymannaji
جمعه 03 آبان 1387, 00:17 صبح
با تشکر از راهنمایی های مفیدتون . از اینکه زحمت به شما دادم شرمنده . اگر در مورد استفاده از ashx رفرنسی دارید محبت میکنید به بنده معرفی کنید ؟
در واقع من یک سیستم نظرسنجی دارم درست میکنم که جالب هست و بزودی در سایت قرار میدم که ترکیبی از جاوا اسکریپت و asp.net هست و کدهای جاوا اسکریپتم حالت داینامیک دارن. و در واقع میخوام تا اونجا که میشه کدهام منطقی و استاندارد باشه.
موفق و پیروز باشید دوست عزیز
dr_csharp
یک شنبه 05 آبان 1387, 10:44 صبح
دوم اینکه یه متغییر عمومی توی صفحه ایجاد کنی و اون متغییر رو از سمت سرور مقدار دهی کنی و توی فایل دقیقا از همون متغییر استفاده کنی.
نام این تکنیک چیه ؟
raravaice
یک شنبه 05 آبان 1387, 11:40 صبح
نام این تکنیک چیه ؟
چه عرض کنم!
من تا حالا اسم فنی برای این روش به گوشم نخورده
موفق باشید
dr_csharp
یک شنبه 05 آبان 1387, 12:32 عصر
چه عرض کنم!
من تا حالا اسم فنی برای این روش به گوشم نخورده
موفق باشید
خوب چطور میشه که یک متغیر serverside در client در دسترس واقع میشه ؟
raravaice
یک شنبه 05 آبان 1387, 12:35 عصر
خوب چطور میشه که یک متغیر serverside در client در دسترس واقع میشه ؟
متغییر در دسترس قرار نمیگیره! مقدار متغیر بین سرور و کلاینت تبادل میشه.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.