ورود

View Full Version : مشکل با HtmlInputText و javaScript



captain_black81
سه شنبه 13 اردیبهشت 1390, 14:41 عصر
سلام
کلا بگم مشکل من چیه. یه هفتست دارم سرچ میکنم:عصبانی++:
من میخام وقتی روی یه جای صفحه کلیک میکنم یه Panel دقیقا همونجا باز بشه. (visible=true)
یه جاوا اسکریپت دارم که مختصات محل کلیک رو میده

حالا موندم این مختصات رو چجوری بیارم سمت کد؟ ( یا شایدم همون سمت اسکریپت بدم به پنل)؟
تنها کاری که تونستم بکنم این بود که یه HtmlInputText بذارم و مقدار رو بریزم توش. که جواب داد ولی بازم سمت کد به این کنترل دسترسی ندارم
گفتند runat=server بذار که گذاشتم و سمت کد میبینمش ولی دیگه سمت جاوا کار نمیکنه
کلافه شدم
یه راهی چیزی بگید شما را بخدا ...........
:گریه:

yosefi_hossein
سه شنبه 13 اردیبهشت 1390, 22:52 عصر
سلام
به نظر من مختصات رو بریز تو hidenfeild و بعد سمت کد براحتی از اونها استفاده کن

team.exis
چهارشنبه 14 اردیبهشت 1390, 01:02 صبح
<script language="JavaScript" type="text/javascript">
function showPanel()
{
X = "فاصله ي موس از چپ";
Y = "فاصله ي موس از بالا";
document.write('<div style="position: absolute; top: ' + Y + 'px; left: ' + X + 'px;">Your panel</div>');
}
</script>
<a onclick="showPanel();" href="#">Show Panel</a>

captain_black81
چهارشنبه 14 اردیبهشت 1390, 08:26 صبح
ممنون از همه دوستان
من حودم مشکلو حل کردم. الان میگم شاید به درد دیگر دوستان هم بخوره.
این مشکل مال وقتیه که مخصوصا از مستر پیج استفاده میشه.
زمانی که به یه کنترل تگ runat=server اضافه میشه باید بدونیم که تبدیل میشه به یه سرور کنترل. در این حالت ID این کنترل با ID قبلیش تفاوت داره و جاوا دیگه اونو نمیشناسه. اینجاست که باید از کلاینت آیدی استفاده کنیم (می تونین سورس صفحه رو ببینید که ID کنترل تبدیل میشه به یه چیز عجیب غریب.)
اینجا باید به جای


document.getElementById('Hidden1')

از


document.getElementById("<%=Hidden1.ClientID%>")

استفاده کنید.
امیدوارم کمک کنه.