Avatar of Camillia
Camillia
Flag for United States of America asked on

style.display = 'none' makes the error msg not display again

I have a clear button and onClientClick, I call a javascript function. This is what's happening

1. I click the submit button and an error msg is displayed because the textbox is empty
2. I click Clear and the Javascript is called and the error msg is cleared
3. So far so good
5. I click Submit again, and the textbox is empty but this time, the error msg is not displayed.

I think it's because of style.display = 'none' that wont allow the error msg to be displayed again.

Anything else i can use besides style.display ='none'?


<script type="text/javascript">
      function clrCtrl() {

          document.getElementById("<%= ccNumber.ClientID %>").value = "";
          document.getElementById("<%= RequiredFieldValidator4.ClientID %>").style.display = 'none';
         
      }

   </script>

Open in new window

JavaScript

Avatar of undefined
Last Comment
Camillia

8/22/2022 - Mon
Dave Baldwin

'inline' and 'block' are the other two options.  You don't have to use that line at all, you can just leave the display setting alone.  What is it supposed to be doing for you?
Camillia

ASKER
>>What is it supposed to be doing for you?
style.display = 'none'  clears the erorr msg is the first time. This is good.

in Step 5 above, when I click on submit button again when the textfield is empty...the error msg should show again but it doesnt. I think it's because the first time...style.display = 'none'
does something and the error msg is not displayed again...

I cant use "block'...i wasnt to clear the field but i dont want to clear it forever...
Dave Baldwin

'block' is for things like <p> and <div> and 'inline' is for text and <span>.  Has nothing to do with clearing the field, only with how it is displayed.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
Camillia

ASKER
No, let me rephrase my question This is the literal I have


And an input field:

<input type="text" maxlength="16"   class="InputFields"  tabindex="1" runat="server" name="ccNumber" id="ccNumber" />

<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator4" ControlToValidate="ccNumber" Text="Card Number is required." ErrorMessage="Card Number is required."></asp:RequiredFieldValidator>

Open in new window


And the button that calls the Javascript and the submit button

 <asp:LinkButton ID="btnCancel" CausesValidation="false"  OnClientClick="clrCtrl();return false;" runat="server" Text="Clear"  />

<asp:LinkButton ID="lbSubmit"  OnClick="lbSubmit_OnClick" CausesValidation="true"   runat="server" Text="Submit"   />

Open in new window


1. The first time when I click on the submit button without entering anything in the input box, the fieldvalidator error msg is displayed.

2. I click the clear button and this error is  cleared

3. I click the submit button again without entering anything in the input box (just like step 1), but this time, the fieldvalidator doesnt display the error msg. I think it's because of the style.display ='none' does something to that field. If I remove the javascript...the fieldvalidator's error msg gets displayed the second time (or whenever i click submit without entering anything in the input box)
SOLUTION
Dave Baldwin

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Camillia

ASKER
do I need if-else in the javascript to display and hide?? i dont think so. For example:
User clicks submit and the error msg is displayed. User clicks clear and the error msg is cleared. User clicks submit again...at this point..the error msg should display again ...how can I change that Javascript to display the error msg? I have to check the value of the input box?
Dave Baldwin

If you are going to call "clrCtrl()" both times then you do need the if-else and a variable to keep track of the state.  Otherwise, it can be two different functions.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
ASKER CERTIFIED SOLUTION
Log in to continue reading
Log In
Sign up - Free for 7 days
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Camillia

ASKER
Tommy, yes..i think i had seen a solution like that somewhere..now i remember it. I'll try it. Thanks