یه مشکل کوچیک در کدنویسی جاوااسکریپت

iran480

Member
سلام. لطفاً به این دو کد دقت کنید:
کد اول:
کد:
<img border="0" src="images/42.gif" width="36" height="18" alt="nailbiting" onclick=document.form1.T1.value='-SS'>
کد دوم:
کد:
<img border="0" src="images/41.gif" width="18" height="18" alt="applause" onclick=document.form1.T1.value='=D>'>
اینها دو عکس هستن که ما در رویداد onclick تعریف کردیم هر وقت روی اونها کلیک شد، مقداری رو وارد خاصیت value یه textbox کنن. کد اول که مشکلی نداره. به محض اینکه روی اون تصویر کلیک کنیم مقدار SS- رو وارد textbox می کنه . اما مشکل کد دوم هست که قراره مقدار <D= رو وارد textbox کنه. درواقع وجود کارکتر < در اون مقدار باعث می شه که مفسر جاوااسکریپت فکر کنه که ما به آخر دستور رسیدیم.
آیا راهی وجود داره که ما از این اشتباه مفسر جلوگیری کنیم و مقدار <D= رو بدون مشکل وارد textbox کنیم؟
با تشکر

 

tabib_m

Member
کدت رو اینجوری کن، ببین درست میشه؟
HTML:
<img border="0" src="images/41.gif" width="18" height="18" alt="applause" onclick="document.form1.T1.value='=D>'">

اگر درست نشد، این یکی رو هم تست کن:
HTML:
<img border="0" src="images/41.gif" width="18" height="18" alt="applause" onclick="document.form1.T1.value='=D&gt;'">

موفق باشید.
 

iran480

Member
مرسی. همون اولی درست بود و کار کرد. اما یه مشکل دیگه بوجود اومد. اینو نگاه کنید:
<":
اگر بخوایم مقدار بالا رو وارد کنیم باید چکار کنیم؟
چون اینجا دیگه دو کارکتر هست که ممکنه مفسر رو به اشتباه بندازه. < و " . :neutral:
کد:
<img border="0" src="images/9.gif" width="18" height="18" alt="blushing" onclick="document.form1.T1.value=':">'">
 

super_php

Member
البته بهتره وقتي مي خواي مقدار چيزي رو تغيير بدي از اين كد استفاده كني

PHP:
<img border="0" src="images/9.gif" width="18" height="18" alt="blushing" onclick='document.getElementById("T1").value=":\">"' >
 

super_php

Member
معلومه كه هر دوشون درسته ولي اين دوميه يه مزيتي داره اونم اينه كه تو همه مرورگرا پشتيباني ميشه و تمام اجزا رو ميشه باهاش هندل كرد
 

iran480

Member
خیلی ممنونم از راهنماییتون:)
ببخشید یه سوال دیگه هم برام پیش اومد. گفتم دیگه اون رو هم توی همین تایپک بپرسم.
چطور می تونیم برای رویداد onclick یه عنصر چند دستور تعیین کنیم؟ یعنی چند کار با هم انجام بده. :neutral:
با تشکر
 

super_php

Member
خوب ديگه اين موضوع به خاطر نحوه طراحي سينتكس هاي جاوا اسكريپت به سادگي قابل اجرا هست
واسه اين كار كافيه كه فقط آخر هر دستور يه ; بزاري

PHP:
... onclick="alert('1');alert('2')" ...
 

iran480

Member
دوست عزیز خیلی از شما ممنونم. شما واقعاً کار منو راه انداختید. :oops:
 

جدیدترین ارسال ها

بالا