5

thus far i've only been using some basic jquery selectors and functions. but i'm looking at this clear form function and i can't figure out how to add it so i can remove hidden inputs and readonly input from getting cleared.

can anybody help? thanks.

function clearForm(form) {
  // iterate over all of the inputs for the form
  // element that was passed in
  $(':input', form).each(function() {
 var type = this.type;
 var tag = this.tagName.toLowerCase(); // normalize case
 // it's ok to reset the value attr of text inputs,
 // password inputs, and textareas
 if (type == 'text' || type == 'password' || tag == 'textarea')
   this.value = "";
 // checkboxes and radios need to have their checked state cleared
 // but should *not* have their 'value' changed
 else if (type == 'checkbox' || type == 'radio')
   this.checked = false;
 // select elements need to have their 'selectedIndex' property set to -1
 // (this works for both single and multiple select elements)
 else if (tag == 'select')
   this.selectedIndex = -1;
  });
};

2 Answers 2

15

If the elements have a readonly attribute in their declaration, you can use jQuery’s :not() selector:

$(':input:not([readonly])', form)

Otherwise filter the read-only elements with something like this:

$(':input', form).each(function() {
    if (this.readOnly) return;
    // …
});
Sign up to request clarification or add additional context in comments.

2 Comments

ya but how do you put that into the function?
sweet, that's exactly what i needed.
1
<script type="text/javascript" language="JavaScript">
    jQuery(document).ready(function(){
        try {
            var t = jQuery("input[type=text]").not("[readonly]").focus(function(){
                jQuery(this).blur();
            });
            alert(t.length);
        }
        catch(error){
            alert("error :" + error);
        }
    });
</script>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.