# زبان های اسکریپتی > JavaScript و Framework های مبتنی بر آن > jQuery >  enable کردن دکمه در ASP.NET با C#‎‎

## benyamin mirzai

سلام من یک صفحه دارم دارای چندین textbox و یک دکمه send هم دارم به طور default دکمه من disable است می خواهم به محض پر شدن textbox هایم دکمه enable شود به چه صورت انجام دهم ؟

----------


## maxpayn2

میشه از ontextchanged استفاده کرد ولی نیاز به Postback داره ، حتما راه بهتری هم هست

----------


## benyamin mirzai

اخه یه textbox نیست که از ontextchanged  استفاده کنم باید همشون پر شند بعد enable شود

----------


## maxpayn2

خب همشون همین event رو دارن ، ولی همونطور که گفتم راه حل خوبی نیست ، چون نیاز به PostBack داره

----------


## Vahid_moghaddam

باید از javascript استفاده کنید. متن هر textbox وقتی تغییر می کنه چک کنید ببینید textbox ها دارای متن هستند یا نه. اگه بودند دکمه رو enable کنید

----------


## Nightbat

function Check() {
            var txt1 = document.getElementById('<%=TextBox1.ClientID %>');
            var txt2 = document.getElementById('<%=TextBox2.ClientID %>');
            if (txt1.value != '' && txt2.value != '') {
                document.getElementById('Button1').disabled = false;
            }
        }
   


فانکشن بالا رو توی تگ script بذار. و برای هر تکست باکس هم مثل زیر عمل کن:
<asp:TextBox ID="TextBox1" runat="server" onchange="Check()"></asp:TextBox>

----------


## benyamin mirzai

دوست عزیز دستور onchange="Check() را نمیشناسه و اگه از 
OnTextChanged="Check()" استفاده کنم error مده

----------


## Vahid_moghaddam

اینطوری نوشتید؟



*<script>*
function Check()
{
.
.
.
}
*</script>*

----------


## benyamin mirzai

بله توی script نوشتم

----------


## benyamin mirzai

در واقع onchange را نمیشناسه

----------


## Vahid_moghaddam

کد aspx رو بذارید

----------


## benyamin mirzai

گذاشتم به این صورت
<asp:TextBoxID="nametxt"runat="server"OnChange="Check()"Enabled="true"></asp:TextBox>

----------


## benyamin mirzai

و وقتی کد زیر را می نویسم 
<asp:TextBoxID="nametxt"runat="server"OnTextChanged="Check()"Enabled="true"OnTextChanged="nametxt_TextChanged"></asp:TextBox>
و بهد روی textbox کلیک می کنم کد زیر در asp می اد 

protectedvoid Check()(object sender, EventArgs e)
{
}
که error میده

----------


## Behrouz_Rad

این مورد رو باید با jQuery پیاده سازی کنی... یک نمونه واست نوشتم:

<div id="txtContainer">
    <input disabled="disabled" type="button" id="btn" />
    <input type="text" id="txt1" />
    <input type="text" id="txt2" />
    <input type="text" id="txt3" />
</div>



function checkTxt(event) {
    var isAllChecked = true;
    $("#txtContainer input:text").each(function() {
        if ($.trim(this.value).length < 1) {
            isAllChecked = false;
            return false;
        }
    });

    if (isAllChecked) {
        $("#btn").removeAttr("disabled");
    }
    else {
        $("#btn").attr("disabled", "disabled");
    }
}

$(function() {
    $("#txtContainer input:text").keyup(checkTxt);
});

بهتره TextBox ها رو در یک Container بگذاری تا دسترسی به اونها راحت تر باشه. در این حالت با بحث ClientID درگیر نمیشی.

سوال به بخش jQuery منتقل شد.

موفق باشید.

----------


## Nightbat

این دقیقا کدیه که من نوشتم و داره کار می کنه:

<script language="javascript" type="text/javascript">
function Check() {
            var txt1 = document.getElementById('<%=TextBox1.ClientID %>');
            var txt2 = document.getElementById('<%=TextBox2.ClientID %>');
            if (txt1.value != "" && txt2.value != '') {
                document.getElementById('Button1').disabled = false;
            }
        }
 </script>

و این هم تگ تکست باکس:

<asp:TextBox ID="TextBox1" runat="server" onchange="Check()"></asp:TextBox>

----------


## Behrouz_Rad

> این دقیقا کدیه که من نوشتم و داره کار می کنه:


کدی که شما نوشتی مشکلش اینه که وقتی تعداد TextBox ها زیاد بشه، نیاز داره تا کدهای بیشتری بهش اضافه بشه. ضمن اینکه تضمین Cross Browser بودن کدهای جاوا اسکریپت خیلی مهمه (در کل میگم)... قدرت jQuery با کدهای Native جاوا اسکریپت قابل مقایسه نیست.

موفق باشید.

----------


## Nightbat

> کدی که شما نوشتی مشکلش اینه که وقتی تعداد TextBox ها زیاد بشه، نیاز داره تا کدهای بیشتری بهش اضافه بشه. ضمن اینکه تضمین Cross Browser بودن کدهای جاوا اسکریپت خیلی مهمه (در کل میگم)... قدرت jQuery با کدهای Native جاوا اسکریپت قابل مقایسه نیست.
> 
> موفق باشید.


شما درست میگی. من این پست رو در جواب دوستی زدم که گفت کد من کار نمی کنه. منظورم این نبود که کد شما با کد من یکیه، مسلما در قدرت jQuery و درستی کد شما شکی نیست  :چشمک:

----------

