Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
Jquery验证不会停止执行";“代码隐藏”;asp.net按钮的代码_Jquery_Code Behind_Execution - Fatal编程技术网

Jquery验证不会停止执行";“代码隐藏”;asp.net按钮的代码

Jquery验证不会停止执行";“代码隐藏”;asp.net按钮的代码,jquery,code-behind,execution,Jquery,Code Behind,Execution,我有一个asp.net按钮,它有一个click事件,基本上将数据添加到数据库中。我还有一个radiobuttonlist(即批准/拒绝)和一个文本框。如果用户选择拒绝,文本框将可见。我想运行验证,当用户单击提交按钮时,如果选择了拒绝,则文本框不能为空。我已经为此使用了jquery验证。当我单击按钮时,文本框旁边会显示消息app,该字段是必需的,但它不会停止代码的执行。i、 它将数据添加到数据库中。这是我的密码 <script type="text/javascript" language=

我有一个asp.net按钮,它有一个click事件,基本上将数据添加到数据库中。我还有一个radiobuttonlist(即批准/拒绝)和一个文本框。如果用户选择拒绝,文本框将可见。我想运行验证,当用户单击提交按钮时,如果选择了拒绝,则文本框不能为空。我已经为此使用了jquery验证。当我单击按钮时,文本框旁边会显示消息app,该字段是必需的,但它不会停止代码的执行。i、 它将数据添加到数据库中。这是我的密码

<script type="text/javascript" language="javascript">



    $(function() {
        $('#declinediv').hide();
        ////////
        var $radBtn = $("table.rblist input:radio");
        $radBtn.click(function() {
            var $radChecked = $(':radio:checked');
            var value = $radChecked.val();
            if (value == 'Decline' || value == 'Approve') {
                if (value == 'Decline')
                    $('#declinediv').show();

                else
                    $('#declinediv').hide();
            }
            else {
                $('#declinediv').hide();
            }

        });
        //////////////////////////

        $("#aspnetForm").validate({
            rules: {
                <%=txtdeclinereason.UniqueID %>: {
                    minlength: 2,
                    required: true
                }
        }, messages: {
            <%=txtdeclinereason.UniqueID %>:{ 
                    required: "* Required Field *", 
                    minlength: "* Please enter atleast 2 characters *" 
                }
        }, onsubmit: true


    });

    //////////////////////////////////

    $('#btnsubmit').click(function(evt){
        var isValid = $("#aspnetForm").valid();

        if (!isValid)
        {
            evt.preventDefault();
            }
    });





});

    function myredirect(v, m, f) {
        window.location.href = v;
    }  

</script>


<table style="border: 1px black solid; text-align: center; vertical-align: middle"
    width="100%">
    <tr>
        <td>
            <asp:RadioButtonList ID="rbtnlstapprover" runat="server" RepeatDirection="Horizontal"
                CssClass="rblist" DataTextField="username" DataValueField="emailaddress">
                <asp:ListItem Text="Approve" Value="Approve" />
                <asp:ListItem Text="Decline" Value="Decline" />
            </asp:RadioButtonList>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="rbtnlstapprover"
                Text="*" ErrorMessage="Please select atleast one Approver" ValidationGroup="approvalgroup"
                Display="Dynamic" />
        </td>
    </tr>
    <tr>
        <td>
            <div id="declinediv">
                <asp:TextBox ID="txtdeclinereason" runat="server" TextMode="MultiLine" Columns="80"
                    Rows="5" />
             </div>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Button ID="btnsubmit" runat="server" Text="Submit" CssClass="RegularButton"
                CausesValidation="true" ValidationGroup="approvalgroup" OnClick="btnsubmit_Click" />
        </td>
    </tr>
</table>

你确定这是第一个吗?在if语句中添加一个“debbuger”。我认为您需要使用ClientId而不是UniuqueId。

您确定它正在验证所有的第一个吗?在if语句中添加一个“debbuger”。我认为您需要使用ClientId而不是UniuqueId。

如果验证通过,则处理提交按钮的函数应返回true;如果验证失败,则返回false。
我不确定那里的代码是否附加或替换了另一个事件处理程序。如果只附加了事件处理程序,并且两个事件都使用jquery magic触发,那么简单地返回false可能不起作用


您还说记录仍在添加到数据库中。这意味着您没有服务器端验证来备份客户端验证。可以绕过任何jquery验证程序,因此您应该确保在服务器上再次检查。

如果验证通过,则处理提交按钮的函数应返回true;如果验证失败,则返回false。
我不确定那里的代码是否附加或替换了另一个事件处理程序。如果只附加了事件处理程序,并且两个事件都使用jquery magic触发,那么简单地返回false可能不起作用


您还说记录仍在添加到数据库中。这意味着您没有服务器端验证来备份客户端验证。可以绕过任何jquery验证程序,因此您应该确保在服务器上再次检查。

将按钮的OnClientClick属性设置为javascript函数以进行验证。如果没有验证,让javascript函数返回false,页面将不会发回

<asp:Button ID="btnsubmit" runat="server" Text="Submit" CssClass="RegularButton"
                CausesValidation="true" ValidationGroup="approvalgroup" OnClick="btnsubmit_Click" OnClientClick="return(jsValidate());" />

将按钮的OnClientClick属性设置为javascript函数以进行验证。如果没有验证,让javascript函数返回false,页面将不会发回

<asp:Button ID="btnsubmit" runat="server" Text="Submit" CssClass="RegularButton"
                CausesValidation="true" ValidationGroup="approvalgroup" OnClick="btnsubmit_Click" OnClientClick="return(jsValidate());" />

OnClick
不会执行隐藏的代码,直到
OnClientClick
返回true


如果验证为false,
OnClientClick=“(return(validationfunction());”
将返回false,回发将停止。

OnClick
不会执行后面的代码,直到
OnClientClick
返回true


如果验证为false,
OnClientClick=“(return(validationfunction());”
将返回false,回发将停止。

OnClientClick是在按钮与其回发之间进行切换的唯一方法。即使按住表单.submit()Hospital在IE中对您没有好处。谢谢。它可以工作。我在文本框旁边收到错误消息。是否有任何方法可以使用对话框ui弹出错误消息?OnClientClick是在按钮和回发之间进行切换的唯一方法。即使按住form.submit()人质在IE中对你没有好处。谢谢。它可以工作。我在文本框旁边收到错误消息。是否有任何方法可以使用对话框ui弹出错误消息?