Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JavaScript-在更改下拉列表索引时禁用文本框_C#_Javascript_Asp.net_Drop Down Menu_Textbox - Fatal编程技术网

C# JavaScript-在更改下拉列表索引时禁用文本框

C# JavaScript-在更改下拉列表索引时禁用文本框,c#,javascript,asp.net,drop-down-menu,textbox,C#,Javascript,Asp.net,Drop Down Menu,Textbox,我有下面的代码,它根据下拉列表中的值提供禁用或启用文本框的功能 下面是我如何从下拉列表中引用此代码: 不幸的是,代码正在生成一个异常。我认为我使用了错误的事件处理程序,即OnSelectedIndexChanged。请告诉我如何补救这种情况?使用onchange事件,它将用于javascript函数调用。OnSelectedIndexChanged是服务器端事件。使用onchange事件,该事件将用于javascript函数调用。OnSelectedIndexChanged是服务器端事件。只需将

我有下面的代码,它根据下拉列表中的值提供禁用或启用文本框的功能

下面是我如何从下拉列表中引用此代码:


不幸的是,代码正在生成一个异常。我认为我使用了错误的事件处理程序,即OnSelectedIndexChanged。请告诉我如何补救这种情况?

使用onchange事件,它将用于javascript函数调用。OnSelectedIndexChanged是服务器端事件。

使用onchange事件,该事件将用于javascript函数调用。OnSelectedIndexChanged是服务器端事件。

只需将OnSelectedIndexChanged替换为onchange,因为onchange由js处理。OnSelectedIndexChanged由代码隐藏处理。

只需将OnSelectedIndexChanged替换为onchange,因为onchange由js处理。OnSelectedIndexChanged由代码隐藏处理。

1将OnSelectedIndexChanged替换为onchange

2更换

var DropDown_Total=document.getElementByIdDropDown_Total

var DropDown_Total=document.getElementById

对于所有getElementById

3替换下拉列表日期。选项[DropDown\u Date.selectedIndex]。值 具有 下拉列表\日期。选项[下拉列表\日期。已选择索引]。两个下拉列表的文本

试试这个,它起作用了

<script type="text/javascript">
    function DisableEnable() {
        var DropDown_Total = document.getElementById("<%= DropDown_Total.ClientID %>")
        var Textbox_Total = document.getElementById("<%= Textbox_Total.ClientID %>")
        var DropDown_Date = document.getElementById("<%= DropDown_Date.ClientID %>")
        var Textbox_Date = document.getElementById("<%= Textbox_Date.ClientID %>")

        if (DropDown_Total.options[DropDown_Total.selectedIndex].text == "Any Amount") {

            Textbox_Total.disabled = true;
        }

        else {
            Textbox_Total.disabled = false;
        }

        if (DropDown_Date.options[DropDown_Date.selectedIndex].text == "Any Date") {
            Textbox_Date.disabled = true;
        }

        else {
            Textbox_Date.disabled = false;
        }
    }
</script>
html

1将OnSelectedIndex替换为onchange

2更换

var DropDown_Total=document.getElementByIdDropDown_Total

var DropDown_Total=document.getElementById

对于所有getElementById

3替换下拉列表日期。选项[DropDown\u Date.selectedIndex]。值 具有 下拉列表\日期。选项[下拉列表\日期。已选择索引]。两个下拉列表的文本

试试这个,它起作用了

<script type="text/javascript">
    function DisableEnable() {
        var DropDown_Total = document.getElementById("<%= DropDown_Total.ClientID %>")
        var Textbox_Total = document.getElementById("<%= Textbox_Total.ClientID %>")
        var DropDown_Date = document.getElementById("<%= DropDown_Date.ClientID %>")
        var Textbox_Date = document.getElementById("<%= Textbox_Date.ClientID %>")

        if (DropDown_Total.options[DropDown_Total.selectedIndex].text == "Any Amount") {

            Textbox_Total.disabled = true;
        }

        else {
            Textbox_Total.disabled = false;
        }

        if (DropDown_Date.options[DropDown_Date.selectedIndex].text == "Any Date") {
            Textbox_Date.disabled = true;
        }

        else {
            Textbox_Date.disabled = false;
        }
    }
</script>
html


教程:如何在Javascript中使用DropDownList禁用/启用textbox

在这个函数中,我们将dropdownlist id和textbox id作为参数传递给js函数

  <script type="text/javascript">
    function DisableEnableTxtbox(DropDown, txtbox) {

        if (DropDown.options[DropDown.selectedIndex].text == "free") {

            txtbox.disabled = true;
        }

        else {
            txtbox.disabled = false;
        }

    }
  </script>
现在添加以下代码:

 <td align="center" class="line">
        <asp:DropDownList ID="ddl_MonP1" runat="server" CssClass="ppup2"   onchange="DisableEnableTxtbox(this,txt_MonP1);"></asp:DropDownList>
        <asp:TextBox ID="txt_MonP1" runat="server" CssClass="ppup" placeholder="Subject"></asp:TextBox>
       </td>

教程:如何在Javascript中使用DropDownList禁用/启用textbox

在这个函数中,我们将dropdownlist id和textbox id作为参数传递给js函数

  <script type="text/javascript">
    function DisableEnableTxtbox(DropDown, txtbox) {

        if (DropDown.options[DropDown.selectedIndex].text == "free") {

            txtbox.disabled = true;
        }

        else {
            txtbox.disabled = false;
        }

    }
  </script>
现在添加以下代码:

 <td align="center" class="line">
        <asp:DropDownList ID="ddl_MonP1" runat="server" CssClass="ppup2"   onchange="DisableEnableTxtbox(this,txt_MonP1);"></asp:DropDownList>
        <asp:TextBox ID="txt_MonP1" runat="server" CssClass="ppup" placeholder="Subject"></asp:TextBox>
       </td>

@像这样的Raghubat?对如果您使用母版页,那么获取控件的代码是:var DropDown\u Total=document.getElementById;非常感谢拉胡巴:@Raghubat像这样?对如果您使用母版页,那么获取控件的代码是:var DropDown\u Total=document.getElementById;非常感谢Raghubar:我尝试了这个建议,但是虽然没有产生异常,但是文本框没有变灰。你能发布一个小提琴链接吗?并确保代码行var DropDown\u Total=document.getElementByIdDropDown\u Total返回正确的值。有时cotrol id呈现不同的HTML。我以前从未使用过FIDLE链接。给我一分钟来建立一个帐户。这是小提琴链接:好的,很好。为了便于将来参考,请使用服务器控件的ClientIDMode=Static属性以避免写入:我尝试了这个建议,但尽管没有生成异常,但文本框并没有变灰。您可以发布一个fiddle链接吗?并确保代码行var DropDown\u Total=document.getElementByIdDropDown\u Total返回正确的值。有时cotrol id呈现不同的HTML。我以前从未使用过FIDLE链接。给我一分钟来建立一个帐户。这是小提琴链接:好的,很好。仅供将来参考,请使用服务器控件的ClientIDMode=静态属性以避免写入: