c# - hiding an asp.net generated <span> breaks my javascript form validation -
so using javascript validate address field pull zip code off end.
i have 2 asp:labels show , hide inform user. works great, labels show when needed , validation works how want it, problem comse when try hide them. 1 of labels shows , hides fine, whenever try hide other script breaks
<script> function isvalid() { var zip = maincontent_tbx_appt_address.value.slice(-5); if (zip == "") { maincontent_lbl_add_validate2.hidden = true; maincontent_lbl_add_validate.hidden = false; } else if (!zip.match('[0-9]{5}')) { //maincontent_lbl_add_validate.hidden = true; maincontent_lbl_add_validate2.hidden = false; } else { //maincontent_lbl_add_validate.hidden = true; maincontent_lbl_add_validate2.hidden = true; } } </script> <asp:label id="lbl_add_validate" style="z-index:100;" name="lbl_add_validate" datapoint="dp_add_validate" runat="server" hidden="true" text="address required"></asp:label> <asp:label id="lbl_add_validate2" style="z-index:100;" name="lbl_add_validate2" datapoint="dp_add_validate2" runat="server" hidden="true" text="invalid address format"></asp:label> <br /> <asp:textbox id="tbx_appt_address" onblur="isvalid()" style="z-index:100;" name="tbx_appt_address" datapoint="dp_appt_address" runat="server" rows="4" textmode="multiline" height="65px" width="200px" value="address" onfocus="if (this.value == this.defaultvalue) { this.value = ''; }" placeholder="address">address</asp:textbox>
this code in asp file , when hits client side spits out
<span id="maincontent_lbl_add_validate" name="lbl_add_validate" datapoint="dp_add_validate" hidden="true" style="z-index:100;">address required</span> <span id="maincontent_lbl_add_validate2" name="lbl_add_validate2" datapoint="dp_add_validate2" hidden="true" style="z-index:100;">invalid address format</span> <br/> <textarea name="ctl00$maincontent$tbx_appt_address" rows="4" cols="20" id="maincontent_tbx_appt_address" datapoint="dp_appt_address" value="address" onfocus="if (this.value == this.defaultvalue) { this.value = ''; }" placeholder="address" onblur="return isvalid()" style="height:65px;width:200px;z-index:100;">address</textarea>
everything else works long have maincontent_lbl_add_validate.hidden = true; commented out, if have ether of them run breaks
in aspx pages if not using jquery, try elements using document.getelementbyid('maincontent_tbx_appt_address'), , if using microsoft ajax frameworks can use $get('maincontent_lbl_add_validate'), these right ways refer elements on dom.
editing: ok, looking code more accuracy saw made mistake on span ids, @ 'v' char. check case on ids , script run.
Comments
Post a Comment