Click here to Skip to main content
15,895,142 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi...
Im using Single button to perform Insert, Update and change photo operation, based on operation type bind respective validation method to button.On insertion operation, inserting photo details of a member, on update operation , updating all fields except photo, on change photo operation changing photo of member. i wrote 3 different javascript validation methods to validate separately for each operation. Based on single BUTTON TEXT need to bind respective JS validation method to button's onclientclick event through code behind.

This is my Code, Its not working...!
JavaScript
<script type="Text/Javascript">
function Validate1() {
    if (document.getElementById("<%=txtFname.ClientID %>").value == "") {
        alert("First name cant be blank.");
        return false;
    }

    name_F = /^[a-zA-Z ]+$/;
    if (!document.getElementById("<%=txtFname.ClientID %>").value.match(name_F)) {
        alert("First name allows only alphabets.");
        return false;
    }

    if (document.getElementById("<%=txtLname.ClientID %>").value == "") {
        alert("Last Name cant be blank.");
        return false;
    }

    if (!document.getElementById("<%=txtLname.ClientID %>").value.match(name_F)) {
        alert("Last name allows only alphabets");
        return false;
    }

    if (document.getElementById("<%=txtEmail.ClientID %>").value == "") {
        alert("Email ID cant be blank.");
        return false;
    }

    email_F = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (!document.getElementById("<%=txtEmail.ClientID %>").value.match(email_F)) {
        alert("Invalid email ID format.");
        return false;
    }

    if (document.getElementById("<%=txtMobile.ClientID %>").value == "") {
        alert("Mobile number cant be blank.");
        return false;
    }

    ph_F = /^\d{10}$/;
    if (!document.getElementById("<%=txtMobile.ClientID %>").value.match(ph_F)) {
        alert("Enter 10 digit mobile number.");
        return false;
    }

    if (document.getElementById("<%=FUphoto.ClientID %>").value == "") {
        alert("Upload photo.");
        return false;
    }
}

function Validate2() {
    if (document.getElementById("<%=txtFname.ClientID %>").value == "") {
        alert("First name cant be blank.");
        return false;
    }

    name_F = /^[a-zA-Z ]+$/;
    if (!document.getElementById("<%=txtFname.ClientID %>").value.match(name_F)) {
        alert("First name allows only alphabets.");
        return false;
    }

    if (document.getElementById("<%=txtLname.ClientID %>").value == "") {
        alert("Last Name cant be blank.");
        return false;
    }

    if (!document.getElementById("<%=txtLname.ClientID %>").value.match(name_F)) {
        alert("Last name allows only alphabets");
        return false;
    }

    if (document.getElementById("<%=txtEmail.ClientID %>").value == "") {
        alert("Email ID cant be blank.");
        return false;
    }

    email_F = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (!document.getElementById("<%=txtEmail.ClientID %>").value.match(email_F)) {
        alert("Invalid email ID format.");
        return false;
    }

    if (document.getElementById("<%=txtMobile.ClientID %>").value == "") {
        alert("Mobile number cant be blank.");
        return false;
    }

    ph_F = /^\d{10}$/;
    if (!document.getElementById("<%=txtMobile.ClientID %>").value.match(ph_F)) {
        alert("Enter 10 digit mobile number.");
        return false;
    }
}

function Validate3() {

    if (document.getElementById("<%=FUphoto.ClientID %>").value == "") {
        alert("Upload photo.");
        return false;
    }
}

</script>


C#
protected void Page_Load(object sender, EventArgs e)
{
   stf = new ManageStaffDAL(this);
   if (!this.IsPostBack)
   {
       btnAdd.Attributes.Add("onclientclick", "return Validate1();");
       BindStaff_GV();
   }
}

C#
protected void LB_Edit_Click(object sender, EventArgs e)
{
    staffID = int.Parse(((LinkButton)sender).CommandArgument);
    HiddenField1.Value = staffID.ToString();

    GridViewRow rw = (GridViewRow)(((LinkButton)sender).Parent.Parent);
    
    txtFname.Text = rw.Cells[2].Text;
    txtLname.Text = rw.Cells[3].Text;
    txtEmail.Text = rw.Cells[4].Text;
    txtMobile.Text = rw.Cells[5].Text;

    FUphoto.Enabled = false;
    btnAdd.Text = "UPDATE";
    btnAdd.Attributes.Add("onclientclick", "return Validate2();");
}

C#
protected void LB_ChangePhoto_Click(object sender, EventArgs e)
{
    staffID = int.Parse(((LinkButton)sender).CommandArgument);
    HiddenField1.Value = staffID.ToString();
    FUphoto.Enabled = true;
    txtEmail.Enabled = false;
    txtFname.Enabled = false;
    txtLname.Enabled = false;
    txtMobile.Enabled = false;

    btnAdd.Text = "CHANGE PHOTO";
    btnAdd.Attributes.Add("onclientclick", "return Validate3();");
}

Im displaying data on a gridview, Within GV , im using Link button for change photo and Edit option.

Any help appreciated...! Thanks in advance...!
Posted
v2

1 solution

I am not sure where, but you just need to check the Button text and assign appropriate method to the OnClientClick attribute.

It would be good, if you can do this in JavaScript on page load or jQuery Document Ready.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900