PDA

View Full Version : اجرای کد جاوا اسکریپیت پس از onclick



Behrouz1985
سه شنبه 26 بهمن 1389, 09:35 صبح
سلام دوستان
آیا راهی وجود داره که بعد از اینکه روی یک دکمه کلیک شد و دستورات onclick آن اجرا شد، قطعه کدی از جاوااسکریپت اجرا بشه؟ اگه می شه روش کار رو برام توضیح بدین.
با تشکر

mpmsoft
سه شنبه 26 بهمن 1389, 09:42 صبح
یک مثال خیلی ساده


<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>
<script type="text/javascript">
function ShowMessage()
{
alert("hello world");

}
</script>
</head>

<body>
<input type="button" onclick="ShowMessage();" id="Btn1" value="Click Here" />
</body>

</html>

Roia_del
سه شنبه 26 بهمن 1389, 09:42 صبح
سلام.
برای Button اگه کنترل Server باشد.رویدادی تحت عنوان OnClientClick هست که می تونه کد جاوا اسکریپت شما رو اجرا کنه. اگه این تابع False برگردونه کد سرور اجرا نمی شود(یعنی کدی که در رویداد Click نوشته اید اجرا نمی شود).

virtual_matador
سه شنبه 26 بهمن 1389, 09:46 صبح
سلام
می تونی از این کد توی تابع کلیک سمت سرور استفاده کنی:

ClientScript.RegisterStartupScript(this.GetType(), "NameForYourScript","alert('Hello')");

Behrouz1985
سه شنبه 26 بهمن 1389, 10:10 صبح
فکر کنم سوالم زیاد واضح نبوده.
منظورم اینه که بعد از اینکه کاربر روی دکمه کلیک کرد، دستورات asp.net اون اجرا بشه و بعد از اتمام این دستورات یه سری اسکریپت اجرا بشه. یعنی ترتیب اینا مهمه. چون می خوام اول گرید ویو رو پر کنم و بعد scroll این گرید ویو رو (که داخل یه div قرار داره و اسکرول خورده) ست کنم.



می تونی از این کد توی تابع کلیک سمت سرور استفاده کنی:

ClientScript.RegisterStartupScript(this.GetType(), "NameForYourScript","alert('Hello')");

البته فکر کنم این کد باید کمک کنه، ولی اتفاقی نمی افته!

Behrouz1985
چهارشنبه 27 بهمن 1389, 16:35 عصر
کسی راهی به ذهنش نمی رسه؟

Himalaya
چهارشنبه 27 بهمن 1389, 16:50 عصر
تو کد پست 4 پارامتر چهارم رو با true ست کن

Behrouz1985
پنج شنبه 28 بهمن 1389, 08:43 صبح
می تونی از این کد توی تابع کلیک سمت سرور استفاده کنی:

ClientScript.RegisterStartupScript(this.GetType(), "NameForYourScript","alert('Hello')");


تو کد پست 4 پارامتر چهارم رو با true ست کن

ClientScript.RegisterStartupScript(this.GetType(), "NameForYourScript", "alert('Hello')",true );
این هم جواب نداد:متفکر:

aserfg
پنج شنبه 28 بهمن 1389, 10:36 صبح
دوست عزیز در asp.net دو کلاس وجو داره که نیازهای سمت کلاینت شما رو ساپورت می کنه :
1- ClientScript
و دومی ScriptManager
این دو کلاس دارای متدهایی نظیر RegisterStartupScript و RegisterArrayDeclaration و.... هستند که کاربردهای بسیار فراوانی دارند.
برای روشن شدن مطلب مثالی می زنم انشا... مشکلتون حل بشه :
فرض کنید تابعی جاوا اسکریپت دارین مثل runme() و می خوایم در سمت سرور اون رو صدا بزنیم :

ScriptManager.RegisterStartupScript(this, typeof(bool), "run", "runme()", true);
لذا شما ابتدا تابع جاوا اسکریپتتون رو بنویسین و بعد در کد بیهاند هر جایی که لازم بود با این کد صداش بزنید .
موفق باشید .

Javad.Kashi
پنج شنبه 28 بهمن 1389, 14:11 عصر
سلام به همه
در این کلاس ها که ذکر شده ، یکی از پارامتر ها String key می باشد (مثل مثال تاپیک بالا "run" ) می شه یکم در موردش توضیح دهید.

یا علی

Behrouz1985
پنج شنبه 28 بهمن 1389, 15:53 عصر
دوست عزیز در asp.net دو کلاس وجود داره که نیازهای سمت کلاینت شما رو ساپورت می کنه :
...

ScriptManager.RegisterStartupScript(this, typeof(bool), "run", "runme()", true);


جناب aserfg (http://barnamenevis.org/member.php?46835-aserfg) متاسفانه من هر کاری می کنم نمی تونم با کلیک شدن یک دکمه (button)، یک alert ساده رو اجرا کنم. آیا شما این رو برای کلیک یک دکمه امتحان کردین؟ اگه کمکم کنید ممنون می شم.

aserfg
پنج شنبه 28 بهمن 1389, 21:50 عصر
سلام یه نمونه براتون گذاشتم .