PDA

View Full Version : javascrip و usercontrol



explod_javad
یک شنبه 10 آذر 1387, 10:24 صبح
با عرض سلام.
من میخام دریوزر کنترل از جاوا اسکریپت استفاده کنم.
ولی با متد document.getElementById مشکل دارم. من از server control استفاده می کنم.
خطایی که میده :
has no properties
البته همین کد رو من در فایل aspx اجرا میکنم مشکلی نداره ولی در یوزر کنترل ؟
کدی که توی user control نوشتم:


<script type="text/javascript">
function init() {
document.getElementById("Label1").innerHTML = "hohoho.. label" ;
alert(document.getElementById("Label1").innerHTML);
}
</script>


<asp:Label ID="Label1" Text="test1" runat="server" />
<br />
<input id="Button1" type="button" onclick="init(); return false;" value="button" />


راه حلشو کسی میدونه ؟

kiosksoft
یک شنبه 10 آذر 1387, 12:04 عصر
var docFrm=document.forms.item(0);



به جای document بنویس docFrm

گرفتن کنترل:



var txtResult=docFrm.getElementById('<%=txtCart_No_Hidden.ClientID%>');


نحوه دسترسی :



alert(txtResult.value);

explod_javad
یک شنبه 10 آذر 1387, 20:10 عصر
دوست عزیز ممنون
ولی خطا میده ؟



<script type="text/javascript">
function init() {

var docFrm = document.forms.item(0);
var txtResult = docFrm.getElementById('<%=txtCart_No_Hidden.ClientID%>');
alert(txtResult.value);
}
</script>

<asp:TextBox ID="txtCart_No_Hidden" runat="server"></asp:TextBox>
<br />
<input id="Button1" type="button" value="button" onclick="openPopup(); return false;" />

البته توی یوز کنترل گذاشتم(فکر نمی کنم فرقی هم بکنه)

explod_javad
دوشنبه 11 آذر 1387, 00:01 صبح
این کد به درد میخوره ؟
var datePicker = $find("<%= Datepicker1.ClientID %>");

Exception
دوشنبه 11 آذر 1387, 00:25 صبح
تو کدت فقط اینو عوض کن:

document.getElementById("Label1")
تبدیل بشه به:

document.getElementById('<%=Label1.ClientID%>');

kiosksoft
دوشنبه 11 آذر 1387, 10:02 صبح
دوست عزیز ممنون
ولی خطا میده ؟



<script type="text/javascript">
function init() {

var docFrm = document.forms.item(0);
var txtResult = docFrm.getElementById('<%=txtCart_No_Hidden.ClientID%>');
alert(txtResult.value);
}
</script>

<asp:TextBox ID="txtCart_No_Hidden" runat="server"></asp:TextBox>
<br />
<input id="Button1" type="button" value="button" onclick="openPopup(); return false;" />

البته توی یوز کنترل گذاشتم(فکر نمی کنم فرقی هم بکنه)

:گیج: اما من همه جا از همین روش استفاده میکنم , الان هم کار میکنه!

explod_javad
دوشنبه 11 آذر 1387, 20:41 عصر
ممنون مشکم حل شد ولی یه مشکل دیگه..
من با دستیابی به کنترل Label سمت سرور مشکل دارم.

alishirazi
دوشنبه 11 آذر 1387, 21:40 عصر
ممنون مشکم حل شد ولی یه مشکل دیگه..
من با دستیابی به کنترل Label سمت سرور مشکل دارم.

برای دستیابی به کنترل های سمت سرور باید یه چنین کدی بزنی :
document.getElementById('<%= youElement.ClientID %>')
با این دستور مشکلت حل میشه که فقط فرقش اینکه
<%= %>
اضافه شده که باعث میشه به کنترلهای سروری دسترسی داشته باشی.
اگه مشکلی بود بگو.

sara_B
دوشنبه 11 آذر 1387, 21:49 عصر
بسیار متشکرم

explod_javad
دوشنبه 11 آذر 1387, 23:06 عصر
با سلام و تشکر از Alishirazi


alert(document.getElementById('<%=Label2.ClientID%>').value);

ولی من فقط با کنترل label مشکل دارم.خطایی که میده اینه :undefined
با بعضی کنترل ها امتحان کردم جواب داد مثل Button ولی با label !

explod_javad
دوشنبه 11 آذر 1387, 23:18 عصر
مشکل من حل شد.


var x;
x = document.getElementById('<%= Label2.ClientID %>');
alert(x.innerHTML);