PDA

View Full Version : فراخوانی تابع جاوا اسکریپت یک صفحه دیگر در صفحه جاری



mahdidabaghi
یک شنبه 24 دی 1391, 17:03 عصر
سلام خدمت اساتید
ایا میشه تابع جاوا اسکریپتی رو که مثلا در صفحه default1 نوشتم رو در صفحه دیگه ای (مثلا default2) فراخونی کنم؟
(نمیخوام این اسکریپت رو در هر دو صفحه داشته باشم)
ممنون از دوستان

malloc
یک شنبه 24 دی 1391, 18:08 عصر
آره اگه اون اسکریپت رو تو صفحه مسترپیج بنویسی هرجا بخوای میتونی فراخونی کنی

mahdidabaghi
یک شنبه 24 دی 1391, 18:58 عصر
مهندس جان
ممنون ازت.شاید منظورمو بد بیان کردم
من تو اون صفحه اولی یک تابع جاوا اسکریپت نوشتم.حالا میخوام این تابع رو در صفحه دوم فراخونی کنم.(کارم یخورده عجیب غریبه) ولی کاری رو که کلید زدم باید به همین منوال ادامه بدم.حالا میشه راهنمایی بفرمایین چطور تابعی رو که در صفحه اول نوشتم رو در صفحه دوم فراخونی کنم؟
(بدون مستر پیج اخه تابع مقادیری رو از کنترل ها میگیره و یه کارایی انجام میده)
ممنون میشم راهنمایی بفرمایین

malloc
دوشنبه 25 دی 1391, 01:44 صبح
مهندس جان من در این مورد فکر خواصی به ذهنم نمیرسه . هرچند شما میتونی توابعی رو که در صفحه اول نوشتی و داخل یه فایل js قرار بدی و اونوقت میتونی به هر صفحه که دوست داری همون فایلها رو لینک کنی. هرچند فکر کنم این روش غیر منطقی باشه .

mahdidabaghi
دوشنبه 25 دی 1391, 16:48 عصر
ممنونم ازت
ولی همونجور که عرض کردم من در صفحه اول مقادیری رو از کنترلهای تکست باکس و گرید میگیرم.(پس نمیشه یا نمیتونم این مقادیر رو در صفحه دوم بشناسونم)
ولی باید با یه روشی این تابع رو در صفحه دوم فراخونی کنم:گریه:
دارم رو یه فرم مدیریتی به صورت فول ایجکس (جی کوئری - ایجکس) کار میکنم.(فارغ از کنترلهای Ms Ajax و update Panel و ...)
دوستان و اساتید به دادم برسید. ایا روشی برای این فراخونی نیست واقعا؟

saeed31641
دوشنبه 25 دی 1391, 21:39 عصر
ممنونم ازت
ولی همونجور که عرض کردم من در صفحه اول مقادیری رو از کنترلهای تکست باکس و گرید میگیرم.(پس نمیشه یا نمیتونم این مقادیر رو در صفحه دوم بشناسونم)
ولی باید با یه روشی این تابع رو در صفحه دوم فراخونی کنم:گریه:
دارم رو یه فرم مدیریتی به صورت فول ایجکس (جی کوئری - ایجکس) کار میکنم.(فارغ از کنترلهای Ms Ajax و update Panel و ...)
دوستان و اساتید به دادم برسید. ایا روشی برای این فراخونی نیست واقعا؟


ببین کارتو راه می ندازه


<script type="text/javascript">
function SendParent(id, name) {
var rs = new Object();
rs.a = id;
rs.b = name.toString();
window.returnValue = rs;
window.close();
return false;
}

</script>




صفحه اول که کنترلاتو بفرستی

function SelectParent() {
var rs = window.showModalDialog("SelectParentTree.aspx", "", "dialogLeft:287px;dialogTop:110px;dialogWidth:500px ;dialogHeight:500px")
if (rs != null) {

document.getElementById("DDPlaceParentEdit").value = rs.a;

}
}

saeed31641
چهارشنبه 27 دی 1391, 00:38 صبح
ببین دوست عزیز کاری که من کردم اینه.میام اطلاعات یه صفحه مثلا ایدی یه لینک یا یه کنترلی رو به صفحه دیگه میفرستم .با توجه به گفته خودتون اینو گفتم
؛ولی همونجور که عرض کردم من در صفحه اول مقادیری رو از کنترلهای تکست باکس و گرید میگیرم.(پس نمیشه یا نمیتونم این مقادیر رو در صفحه دوم بشناسونم)؛

حالا اگه همین بگین تا کامل براتون بگم.
دوست عزیز کامل توضیح بده میخایی چیکار کنی.تا دوستان بهتر بتونند کمکت کنند.

mahdidabaghi
چهارشنبه 27 دی 1391, 01:01 صبح
ممنون از جوابتون
میشه یه لطفی کنید و همون سمپلی که بالا فرمودین رو به صورت کامل اینجا آپ کنید؟
عرض کردم که من تابع myfunc()

function myfunc()
{
alert('Help Me');
}
رو در صفحه default1.aspx دارم و میخوام این تابع رو در صفحه default2.aspx فراخونی کنم.
ولی بنا به اون کدی که دارم نمیتونم این اسکریپت رو در هر دو صفحه لینک کنم.
ایا این فراخونی میسر هست یا نه؟

saeed31641
چهارشنبه 27 دی 1391, 13:12 عصر
ممنون از جوابتون
میشه یه لطفی کنید و همون سمپلی که بالا فرمودین رو به صورت کامل اینجا آپ کنید؟
عرض کردم که من تابع myfunc()

function myfunc()
{
alert('Help Me');
}
رو در صفحه default1.aspx دارم و میخوام این تابع رو در صفحه default2.aspx فراخونی کنم.
ولی بنا به اون کدی که دارم نمیتونم این اسکریپت رو در هر دو صفحه لینک کنم.
ایا این فراخونی میسر هست یا نه؟

خوب دوست عزیز شما در صفحه دوم که میخای تابع رو فراخوانی کنی میخوای بصورتی باشه
بصورت فرزند و پدری میخای (پاپاپ ) یا کلا میخای یه صفحه دیگه بصورت کامل باز شه

mahdidabaghi
چهارشنبه 27 دی 1391, 14:40 عصر
نه نمیخوام یه صفحه دیگه باز شه.فقط میخوام با کلیک روی باتنی که در صفحه default2.aspx دارم بره و تابع myfunc رو در صفحه اول فراخونی کنه (بدون باز شدن صفحه دیگه)
ممنون که تایم میذارین

saeed31641
چهارشنبه 27 دی 1391, 15:41 عصر
دوست عزیز خودت یکم فکر کن.چطوری میشه شما از صفحه ۱ با زدن دکمه میری داخل صفحه ۲ و میخادید با زدن دکمه در صفحه ۲ تابعی که در صفحه ۱ بود رو اجرا کنی .

تمامی اشیا در زمان بسته شدن صفحه از بین میره . اونجور یبگم اصلا غیر ممکن شما تابع رو تو صفحه دیگه فراخوانی کنی(تابع اسکریپت در سمت کلاینت یا اچ تی ام ال خودمون).شما فقط مقدار یه تابع رو می تونی صفحه دیگه نشون بدی ولی نمی تونی دوباره فراخوانیش کنی.
گشتم نبود نگرد نیست



<html><head><script LANGUAGE="JavaScript" TYPE="text/javascript"> function openWindow(){ WREF = window.open("test2.html","test2",'width=550,height=650'); if(!WREF.opener){ WREF.opener = this.window; } }
function getValue(val){ newVal = 5 * val; return newVal; }
var globalGetValue = this.getValue;
</script></head>
<body><a HREF="javascript:void(0);" onClick="openWindow();">Open the window</a></body></html>



<html><head></head><body><script LANGUAGE="JavaScript" TYPE="text/javascript">document.write("This is 5 x 7: " + opener.globalGetValue(7));</script></body></html>

meisam3322
پنج شنبه 28 دی 1391, 01:40 صبح
آخه دوست عزیز ، من نمیدونم واقعا شما چه کار کردین ولی چرا اصرار دارین کا یه کار اشتباه رو ادامه بدین. !!!!! :متعجب: توابع JS رو داخل فایل Java Script قرار بدین. هر وقت خواستین توی هر صفحه ای میتونین فایل رو به صفحه اضافه کنین و از توابع استفاده کنین.