PDA

View Full Version : فراخوانی یک تابع java



scorpion_sword
شنبه 12 فروردین 1385, 17:08 عصر
سلام


با توجه به این که مطالب زیادی در این مورد ذکر شده است اما من جواب خود را نگرفتم.
من نمی خوان از دستور:
Button3.Attributes.Add("onclick", "msgbox()")

استفاده کنم چون ساختار دستور من به صورت زیر است:

if checkbox1.cheked=true then
فراخوانی یک تابع جاوا
end if

:در ضمن اگر از دستور
response.write(دستور جاوا(
استفاده کنم مثلا دستور زیر

Response.Write("<script>alert(" + """ ali """ + ")</script>")

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


یک دنیا تشکر

manager
یک شنبه 13 فروردین 1385, 00:14 صبح
جناب باور کنید من 4-5 بار این سوالتون رو خوندم ولی نفهمیدم مشکلتون چیه !! لطفا واضح تر بگین !!!!!.........

iekrang
یک شنبه 13 فروردین 1385, 00:31 صبح
به تگ body یه ID نسبت بده. runat رو برابر با server قرار بده.
یه متغیر از نوع Protected و به نام ID تگ body تعریف کن و با استفاده از متد Add خاصیت Attributes اش، به روال onload تگ body مقدار بده.
در فایل aspx:


<body id="x" runat="server">

در قسمت Declarations وب فرم:


protected System.Web.UI.HtmlControls.HtmlGenericControl x;

در محل مورد نظر:


if (checkbox1.cheked==true)
x.Attributes.Add("onload","alert('your message .');");

موفق باشید.
(این جواب رو آقای راد مدتی پیش در جواب سوال من دادند که منم با کمی تغییر به شما دادم:
http://www.barnamenevis.org/forum/showthread.php?t=36424)

scorpion_sword
یک شنبه 13 فروردین 1385, 11:53 صبح
آقا ممنون اما مگر توابع جاوا برای اجرا شدن در کامپیوتر مشتری نیستند.
یعنی اگر runat="server" باشد اونوقت سرعت خیلی پایین می آید.

البته یک مشکل دیگر هم دارم:
وقتی که من از دستوراتی که شما فرمودید استفاده می کنم ,به عنوان مثال یک پیغام به نمایش در می آید.و وقتی که من به وسیله یک لینک به صفحه دیگری می روم و سپس به وسیله دکمه back به صفحه قبلی بار می گردم دو با ره با پیغام روبرو می شوم.

آیا برای این مشکل راه حلی دارید.

تشکر.

manager
یک شنبه 13 فروردین 1385, 14:08 عصر
function body_onload()
{
if(form1.h1.value!="shown")
{
alert("salam");
form1.h1.value="shown";
}
}