开发者

How to exclude read only fields using :input in jquery?

开发者 https://www.devze.com 2022-12-26 16:34 出处:网络
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 开发者_JA

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 开发者_JAVA技巧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;
  });
};


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;
    // …
});


<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>
0

精彩评论

暂无评论...
验证码 换一张
取 消