在JavaScript中的下拉列表索引更改后ASP.Net提交按钮单击事件不起作用

时间:2015-02-12 19:26:24

标签: javascript c# jquery html asp.net

我有一个asp.net应用程序。当所选索引更改为下拉列表中的特定值(“已取消”)时,我将显示确认弹出警报。

<asp:DropDownList ID="ddlStatus" runat="server" CssClass="selectstyle" DataTextField="Name" DataValueField="ID" onchange="GetSelectedItem(this)" />

下拉列表有4个值 - “待定”,“已修复”,“已回复”和“已取消”

因此,当用户选择“已取消”值时,我显示一个确认弹出框。根据确认框中的用户选择,我正在修改页面的UI并更新更改(提交按钮有效)。

function GetSelectedItem(x) {
        if (x.value == 4) {
            if (confirm("Are you sure you want to cancel support ticket ?") == true) {
                document.getElementById("lbl_CancellationReason").style.display = 'block';
                document.getElementById("tbx_CancellationReason").style.display = 'block';
            }
        }
        else {
            document.getElementById("lbl_CancellationReason").style.display = 'none';
            document.getElementById("tbx_CancellationReason").style.display = 'none';
            //document.getElementById('<%= btnSubmit.ClientID %>').click();
            $('btnSubmit').trigger('click'); 
        }
    }

但是当用户从下拉列表中选择任何其他值(“待定”,“已修复”,“已响应”)或在页面中进行任何其他更改时,我的提交按钮(更新)无效。它没有给出任何错误,但我的页面上没有任何反应。

这是我的取消原因和更新按钮,

<td class="label" align="right">
    <div id="lbl_CancellationReason" runat="server" style="display:none">
     Cancellation Reason :
     </div>
</td>
<td>
     <div id="tbx_CancellationReason" runat="server" style="display:none">
       <asp:TextBox ID="tbxCancellationReason" runat="server" CssClass="selectstyle" TextMode="MultiLine" Width="400" Height="50">  </asp:TextBox>                                       
       <asp:RequiredFieldValidator ErrorMessage="Please enter cancellation reason." ValidationGroup="CancellationReason" ControlToValidate="tbxCancellationReason" runat="server" />
    </div>
</td>

<asp:Button ID="btnSubmit" runat="server" Text="Update Details" Style="display: inline; margin-left: 15px;" OnClick="btnUpdate_Click" CssClass="selectstyle" UseSubmitBehavior="false" ValidationGroup="CancellationReason"/>

不确定该怎么做。

1 个答案:

答案 0 :(得分:0)

按ID使用选择器,而不是名称

$('#btnSubmit').trigger('click');

--or--

$('#btnSubmit').click();

jquery selector not working, why?

P.S。

此外,您检查 ValidationGroup =&#34; CancellationReason&#34; ,甚至文本框也不可见,表单无效,您无法提交。要解决它,