0

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 番目の検証は機能しません。

何か提案をお願いできますか?

4

2 に答える 2

0

return ステートメントの後にステートメントを追加することはできません。

変更してみてください:

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

次のようなものに:

OnClientClick="return validate();" 

&JSで:

function validate() { return emptelephoneno() & emptelephoneno1(); } 
于 2012-11-20T06:10:36.620 に答える
0

これを試して

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

<asp:Button ID="btn" runat="server" 
            Text="submit" 
            OnClientClick="return validateform();" />
于 2012-11-20T06:11:39.200 に答える