JQuery Get Form Data For Only Visible Fields
In my form I got both visible and non-visible (display:none) elements. I need to get form data for only visible fields. I am collecting the data with the following code: var formDa
Solution 1:
$("#myForm :visible").each(function(){
console.log(this);
});
Solution 2:
Use :visible
selector to filter out hidden elements:
function showValues() {
var fields = $("form :input:visible").serializeArray();
$("#results").empty();
$.each(fields, function( i, field ) {
$("#results").append( field.value + " " );
});
}
$(":checkbox, :radio").click(showValues);
$(":text").blur(showValues);
$( "select" ).change(showValues);
showValues();
body, select {
font-size: 14px;
}
form {
margin: 5px;
}
p {
color: red;
margin: 5px;
}
b {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><b>Results:</b> <span id="results"></span></p>
<form>
<input type="text" name="text1" value="text1" id="text1"/>
<input type="text" name="text2" value="text2" id="text2" style="display:none;"/>
<select name="single">
<option>Single</option>
<option>Single2</option>
</select>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select>
<br>
<input type="checkbox" name="check" value="check1" id="ch1" />
<label for="ch1">check1</label>
<input type="checkbox" name="check" value="check2" checked="checked" id="ch2" />
<label for="ch2">check2</label>
<input type="radio" name="radio" value="radio1" checked="checked" id="r1">
<label for="r1">radio1</label>
<input type="radio" name="radio" value="radio2" id="r2">
<label for="r2">radio2</label>
</form>
Post a Comment for "JQuery Get Form Data For Only Visible Fields"