javascript - JS函数不在表单内部调用

标签 javascript asp.net

我是 JS 新手。你能找到我的问题并提出建议吗??不调用 Js 客户端验证。我也有服务器端验证。通过单击按钮,仅调用服务器端验证。你们能帮忙吗?

    <%@ Page Language="C#" AutoEventWireup="true"              CodeBehind="Users.aspx.cs" Inherits="JSApp.Users" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>JsApp</title>
    <script type="text/javascript">
        function ValidatingForm() {
            var b = true;
            if (document.getElementById("FnTextBox").valueOf == "") {
                document.getElementById("Label4").innerText = "beshi Required";
                b = false;

            } else {
                document.getElementById("Label4").innerText = "";
            }
            if (document.getElementById("LnTextBox").valueOf == "") {
                document.getElementById("Label5").innerText = "koravabe required";
                b = false;
            } else {
                document.getElementById("Label5").innerText = "";
            }
            if (document.getElementById("EmailTextBox").valueOf == "") {
                document.getElementById("Label6").innerText = "ajeeb vabe required";
                b = false;
            } else {
                document.getElementById("Label6").innerText = "";
            }
            return b;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:Label ID="Label1" runat="server" Text="FN"></asp:Label>
&nbsp;
        <asp:TextBox ID="FnTextBox" runat="server"></asp:TextBox>
&nbsp;<asp:Label ID="Label4" runat="server"></asp:Label>
        <br />
        <br />
        <asp:Label ID="Label2" runat="server" Text="LN"></asp:Label>
&nbsp;
        <asp:TextBox ID="LnTextBox" runat="server"></asp:TextBox>
&nbsp;<asp:Label ID="Label5" runat="server"></asp:Label>
        <br />
        <br />
        <asp:Label ID="Label3" runat="server" Text="Email"></asp:Label>
&nbsp;
        <asp:TextBox ID="EmailTextBox" runat="server"></asp:TextBox>
&nbsp;<asp:Label ID="Label6" runat="server"></asp:Label>
        <br />
        <br />
        <asp:Button ID="sendButton" runat="server" OnClick="sendButton_Click" OnClientClick="return ValidatingForm()" Text="Send" />

    </div>
    </form>
</body>
</html>

aspx.cs:服务器端

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace JSApp
{
    public partial class Users : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void sendButton_Click(object sender, EventArgs e)
        {
            if (ValidateForm())
            {
                SaveData();
            }
        }

        private void SaveData()
        {
            string cs = ConfigurationManager.ConnectionStrings["SampleConnection"].ConnectionString;
            SqlConnection connection=new SqlConnection(cs);
            SqlCommand cmd = new SqlCommand("spInsertUsers",connection);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter fnParameter=new SqlParameter("@fn",FnTextBox.Text);
            SqlParameter lnParameter=new SqlParameter("@ln",LnTextBox.Text);
            SqlParameter emailParameter=new SqlParameter("@email",EmailTextBox.Text);
            cmd.Parameters.Add(fnParameter);
            cmd.Parameters.Add(lnParameter);
            cmd.Parameters.Add(emailParameter);
            connection.Open();
            cmd.ExecuteNonQuery();
            connection.Close();


        }

        private bool ValidateForm()
        {
            bool b = true;
            if (string.IsNullOrEmpty(FnTextBox.Text))
            {
                b = false;
                Label4.Text = "Required";
            }
            else
            {
                Label4.Text = string.Empty;
            }
            if (string.IsNullOrEmpty(LnTextBox.Text))
            {
                b = false;
                Label5.Text = "Required";
            }
            else
            {
                Label5.Text = "";
            }
            if (string.IsNullOrEmpty(EmailTextBox.Text))
            {
                b = false;
                Label6.Text = "Required";
            }
            else
            {
                Label6.Text = "";
            }
            return b;
        }
    }
}

最佳答案

尝试更改您的按钮点击:

<asp:Button ID="sendButton" runat="server" OnClick="sendButton_Click" OnClientClick="return ValidatingForm()" Text="Send" />

到:

<asp:Button ID="sendButton" runat="server" OnClick="sendButton_Click" OnClientClick="return ValidatingForm" Text="Send" />

在这里查看相同的问题:

http://forums.asp.net/t/1069601.aspx?I+want+to+use+onsubmit+asp+net+wont+let+me+

关于javascript - JS函数不在表单内部调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30013741/

相关文章:

c# - 在 .net framework 4.5 上运行 kestrel 网络服务器

javascript - IndexedDB - 如何创建和使用简单和复杂的 IDBIndex keyPaths?

javascript - 模糊字符串搜索但针对对象?

javascript - Angularjs ng-repeat 跨多个 trs

带有可选子字符串的 JavaScript RegEx 模式

javascript - 无法返回对象数组属性的总和

Javascript 禁用作为 asp.net 控件加载的元素的内联 onclick

ASP.NET > SqlServer;信任和授权

c# - 页面上的计数控件

css - 将搜索图像移动到文本框的右侧?