验证后传递脚本

时间:2014-03-17 08:59:54

标签: javascript asp.net vb.net

我正在尝试验证所有文本框,以确保在允许用户继续之前它们都已填满。我有两个按钮。第一个按钮发送到javascipt,进行验证,第二个按钮发送到vb.net上传文件并将详细信息保存到数据库中。如果我手动点击它们,每个按钮都能正常工作。问题是,我不能让他们一起工作。 (IE。按第一个按钮启动javascript检查,如果成功,调用按钮2启动vb.net脚本添加到数据库并重定向。)

这是验证脚本(在javascript中)

function fnCheck() {

        if ((document.getElementById("price").value).length > 0) {
            var r = confirm("Are you sure the details are correct?");
            if (r == true) {
                document.getElementById("Submit1");
            }
            else {
                x = "You pressed Cancel!";
            } 

        }


    }

这是我的vb.net文本框+代码的示例(不使用代码隐藏)

<script runat="server">

    Sub SubmitButton_Click(Source As Object, e As EventArgs)

        Response.Redirect("../services.html")
    End Sub

</script>

<asp:TextBox ID="price" runat="server" CausesValidation="true"></asp:TextBox>

<input id="Submit1" runat="Server" onserverclick="SubmitButton_Click" 
                            type="submit" value="Upload Files" />
<asp:Button ID="Button5" runat="server" Text="1" 
                                OnClientClick="javascript:return fnCheck()"/>

请帮忙。谢谢!

3 个答案:

答案 0 :(得分:1)

虽然我不熟悉vb.net精神,但如果您尝试模拟<input>元素上的点击事件,请尝试以下操作:

将输入类型更改为按钮:

<input id="Submit1" runat="Server" onserverclick="SubmitButton_Click" 
                        type="button" value="Upload Files" />

在按钮元素上转发click()方法:

function fnCheck() {

    if ((document.getElementById("price").value).length > 0) {
        var r = confirm("Are you sure the details are correct?");
        if (r == true) {
            document.getElementById('Submit1').click();
        }
        else {
            x = "You pressed Cancel!";
        } 

    }


}

答案 1 :(得分:0)

如果您尝试进行回发,只需调用__doPostback:

function fnCheck() {

        if ((document.getElementById("price").value).length > 0) {
            var r = confirm("Are you sure the details are correct?");
            if (r == true) {
                __doPostBack("Submit1", "");
            }
            else {
                x = "You pressed Cancel!";
            } 

        }


}

答案 2 :(得分:0)

相当古老的问题,但仍然适用于任何其他人..

检查页面是否继承了母版页,如果是,则id&#34; Submit1&#34;按钮将在客户端更改为&#34; contentplaceholder__Submit1 &#34;。

如果您想阻止这种情况发生,请将此添加到您的提交按钮代码:

ClientIDMode="Static"
相关问题