Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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_Drop Down Menu_Onchange - Fatal编程技术网

C# &引用;“预期对象”;调用javascript函数时出错

C# &引用;“预期对象”;调用javascript函数时出错,c#,javascript,drop-down-menu,onchange,C#,Javascript,Drop Down Menu,Onchange,我想根据dropdownlist中选择的值更改文本框的可见性 我创建了如下函数: function ShowGiftCardSource() { var ddlGiftCardSource = document.getElementById('<%=ddlGiftCardSource.ClientID%>'); var txtGiftCardSource = document.getElementById('<%=txtGiftCardSourc

我想根据dropdownlist中选择的值更改文本框的可见性

我创建了如下函数:

function ShowGiftCardSource() {
        var ddlGiftCardSource = document.getElementById('<%=ddlGiftCardSource.ClientID%>');
        var txtGiftCardSource = document.getElementById('<%=txtGiftCardSource.ClientID%>');

        if (ddlGiftCardSource.value == "Other") {
            txtGiftCardSource.style.visibility = "visible";
            txtGiftCardSource.focus();
        }
    }
在对照组中:

<asp:DropDownList ID="ddlGiftCardSource" runat="server" Width="151px" onChange="ShowGiftCardSource();">

有人能帮我解决吗?

也许这是因为您在onChange处理程序中使用了showGiftCardOcement()方法,但您的方法名是ShowGiftCardSource()?然后javascript无法找到具有正确名称的方法。

将代码更改为:

ddlGiftCardSource.Attributes.Add("onChange", "ShowGiftCardSource();");
并从标记中删除
onchange

<asp:DropDownList ID="ddlGiftCardOccasion" runat="server" Width="151px">
在你的C#代码背后:

void ShowGiftCardSource(object sender, EventArgs e) {
  //code.....
  txtGiftCardSource.Visible = true;
}

当然,要去掉ddlGiftCardSource.Attributes.Add行。

onChange事件的ddlGiftCardSource。@Knv您不能同时拥有客户端事件和服务器端事件,这是没有意义的。查看我的编辑。在服务器端,没有它的事件。我讲述了“onChange”,它是在加载页面时注册的。实际上,我已经在“ShowGiftCardSource()”[JavaScript]方法上设置了一个断点并执行了它,但当我从下拉列表中选择一个项目时,什么也没有发生。我不明白,为什么会发生这种事?如果你知道其他的选择,请建议我。谢谢你的回复。对不起,我完全失去了你。我为你提供了所有的选择,真的无法更好地解释。
<asp:DropDownList ID="ddlGiftCardOccasion" runat="server" Width="151px">
<asp:DropDownList ID="ddlGiftCardOccasion" runat="server" Width="151px" OnChange="ShowGiftCardSource" AutoPostBack="True">
void ShowGiftCardSource(object sender, EventArgs e) {
  //code.....
  txtGiftCardSource.Visible = true;
}