单击按钮时的JavaScript验证

时间:2012-11-20 06:05:05

标签: javascript asp.net-mvc javascriptserializer

我遇到了JavaScript验证问题。

我有以下源代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Full_Width.master" AutoEventWireup="true" CodeFile="validate.aspx.cs" Inherits="validate" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script type="text/javascript">

function emptelephoneno() {
    var elem = document.getElementById('<%=txtfullname.ClientID%>');
    if (elem.value.length == 0) {
        elem.style.border = '1px solid red';
        document.getElementById('nameError').innerHTML = "Please Enter Your First Name";
        return false;
    }
    else {
        elem.style.border = '';
        document.getElementById('nameError').innerHTML = "";
    }
    return true;
}

function emptelephoneno1() {
    var elem1 = document.getElementById('<%=TextBox1.ClientID%>');
    if (elem1.value.length == 0) {
        elem1.style.border = '1px solid red';
        document.getElementById('Span1').innerHTML = "Please Enter Your First Name";
        return false;
    }
    else {
        elem1.style.border = '';
        document.getElementById('Span1').innerHTML = "";
    }

    return true;
}

</script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="wrapper row3">
    <div id="container" class="clear">
        <div id="content" style="border:1px solid green; margin-left:10px; width:600px;">
            <div class="divRegistration">
                <div class="divleft">
                    <label> full name :<span class="spanstar">*</span></label>
                </div>
            <div class="divright">
                <asp:TextBox ID="txtfullname" runat="server" MaxLength="30"></asp:TextBox>
                <span id="nameError" class="spanerror"></span>
            </div>
        </div>

        <div class="divRegistration">
            <div class="divleft">
            <label> full name :<span class="spanstar">*</span></label>
        </div>
        <div class="divright">
            <asp:TextBox ID="TextBox1" runat="server" MaxLength="30"></asp:TextBox>
            <span id="Span1" class="spanerror"></span>
        </div>
    </div>

    <asp:Button ID="btn" runat="server" text="submit" OnClientClick="return emptelephoneno();return emptelephoneno1();" 
        onclick="btn_Click" />
</div>
</div>
</div>
</asp:Content>

在aspx.cs页面中,我编写了以下代码:

this.txtfullname.Attributes.Add("onblur", "javascript:emptelephoneno();");
this.TextBox1.Attributes.Add("onblur", "javascript:emptelephoneno1();");

当我点击按钮时,第一个验证确实有效,但第二个验证没有。

您能提供任何建议吗?

2 个答案:

答案 0 :(得分:0)

你永远不能在return语句之后添加任何语句,因为那些语句是无法访问的。

尝试更改:

OnClientClick="return emptelephoneno();return emptelephoneno1();" 

类似于:

OnClientClick="return validate();" 

&安培;在JS:

function validate() { return emptelephoneno() & emptelephoneno1(); } 

答案 1 :(得分:0)

试试这个

function validateform() {
  if (emptelephoneno() == true) {
     if (emptelephoneno1() == true) {
       return true;
     }
  }
  return false;
}

<asp:Button ID="btn" runat="server" 
            Text="submit" 
            OnClientClick="return validateform();" />
相关问题