Avatar of earwig75
earwig75
 asked on

Form validation question

I have a Div with a class called "ss-item-required". In that div  I have some text boxes and radio buttons. I want to validate each set of radio buttons and input boxes. The radio button validation is working, but the text boxes are not validating. Below is the code I am using to check that the radio buttons are validated. Can someone help me add to this script so that any input boxes in the div with that name are also validated? Thank you.
 
        if ($('div.ss-item-required:not(:has(:radio:checked))').length > 0) {
    	alert("Make a selection");
    	return false;

Open in new window

JavaScriptjQuery

Avatar of undefined
Last Comment
Julian Hansen

8/22/2022 - Mon
Julian Hansen

By validated do you mean has content?
Sample code below - full working source here
<script type="text/javascript">
$(function() {
  $('form').submit(function() {
   // Init error message 
    var msg = '';
    // Find all input's with the ss-item-required class
    $('input.ss-item-required').each(function() {
      // If empty add to error message using
      // placeholder text as label
      if ($(this).val() == '') {
        msg += $(this).attr('placeholder') + " is required\n";
      }
    });
    // Msg not empty - errors so show and return
    // false to prevent form submission
    if (msg !== '') {
      alert("Error: " + msg);
      return false;
    }
    // No errors - return  true so form can
    // be submitted
    return true;
  });
});
</script>

Open in new window

earwig75

ASKER
This doesn't seem to work with a div class. Is it possible to just add to my existing validation? Basically a repeat of the line below checking for a checked radio button, but check that an input box in that DIV has content? I am not using labels or classes on the inputs.

Thanks again.

        if ($('div.ss-item-required:not(:has(:radio:checked))').length > 0) {
    	alert("Make a selection");
    	return false;

Open in new window

ASKER CERTIFIED SOLUTION
Julian Hansen

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck