ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
با سلام .
کد HTML:
f TextBox_Search_Caption.Attributes.Add("onfocus", "return ClearText(TextBox_Search_Caption);");
کد HTML:
function ClearText(id)
{
document.getElementById(id.ClientID).value='';
}
میخوام id مربوط به یک textbox رو به یک تابع جاوا اسکریپت بفرستم تا با کلیک موس در اون textbox متن داخلش پاک بشه میشه بگید کد صحیحش چیه ؟
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
بنویسید:
document.getElementById("<%=textbox1.ClientID %>")
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
سلام . مرسی از پاسختون این کد رو میدونم منتها میخوام textbox1 رو با پارمتر به تابعی که شامل این کد هست بفرستم میخوام بدونم در صورتی که textbox1 رو به عنوان پارامتر دریافت کنم اون موقع چطور باید در این کد قرارش بدم ؟و در ضمن کد اولی که نوشتم یعنی ارسال پارامتر صحیح هست یا خیر ؟
متشکرم
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
از this باید استفاده کنید.
TextBox_Search_Caption.Attributes.Add("onfocus", "return ClearText(this);");
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
یعنی به این صورت باید استفاده بشه؟؟
protected void Page_Load(object sender, EventArgs e)
{
TextBox_Search_Caption.Attributes.Add("onfocus", "return ClearText(this);");
}
,
<script type="text/javascript">
function ClearText(id)
{
document.getElementById(id.ClientID).value = '';
}
</script>
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
خیر. روش زیر غلطه. دقت کنید this خود شی هست. پس دیگه لازم نیست که از getElemetnbyId استفاده کنید. نکته بعدی clientId یک خصوصیت سروری هست و در کلاینت و جاوااسکریپت شناخته شده نیست.
<script type="text/javascript">
function ClearText(id) {
document.getElementById(id.ClientID).value = ''; }
</script>
روش درست:
<script type="text/javascript">
function ClearText(control) {
control.value = ''; } </script>
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
نقل قول:
نوشته شده توسط
d_derakhshani
خیر. روش زیر غلطه. دقت کنید this خود شی هست. پس دیگه لازم نیست که از getElemetnbyId استفاده کنید. نکته بعدی clientId یک خصوصیت سروری هست و در کلاینت و جاوااسکریپت شناخته شده نیست.
<script type="text/javascript">
function ClearText(id) {
document.getElementById(id.ClientID).value = ''; }
</script>
روش درست:
<script type="text/javascript">
function ClearText(control) {
control.value = ''; } </script>
مرسی از توضیحاتتون
کدوم روش بهتره؟
روش بالا
یا
<script type="text/javascript">
debugger
function ClearText()
{
document.getElementById("<%=txt.ClientID %>").value = '';
}
</script>
و
<asp:TextBox ID="txt" runat="server" Width="170px" onfocus="return ClearText()">sddafde rstrtrtwrt</asp:TextBox>
نقل قول: ارسال پارامتر به یک تابع جاوا اسکریپت در code behind
this قابلیت انعطاف بیشتری داره. در حالت استفاده از ClientID شما صرفا محدود به همون یک کنترل می شوید در حالی که this می تونه هر کنترلی(اینجا تکست باکس)باشه.یعنی با یک تابع هر کنترلی که بهش ارسال کنید متن اش رو خالی می کنه.
از لحاظ کارایی this بهتره اما این کارایی قابل تشخیص نیست.