laPistola Posted September 29, 2009 Share Posted September 29, 2009 Hello Im trying to build a way of checking for empty fields on large form where you dont have to enter every input name it needs to check This is my code: function checkF() { var allInputs = document.getElementsByTagName('input'); for (var i=0; i<allInputs.length; i++) { var fValue = allInputs.item(i).innerHTML; if (fValue=="") { // here i need to exclude say field1 , field 3 and field 10 from being checked return false; alert("Required field(s) are empty, please make sure all required fields are entered.") } else { return true; } } } what i would like is where i made the comment in the above code a way of excluding curtain fields by there name being checked if there empty, not sure its possible but a way using the .item() must be. Any help would be great thank you Quote Link to comment https://forums.phpfreaks.com/topic/175878-exclude-fields-being-checked-for-empty-when-using-getelementbytagname/ Share on other sites More sharing options...
Psycho Posted September 29, 2009 Share Posted September 29, 2009 I would suggest that the proper method would be to explicitly state what fields should be validated instead of using a blacklist. But if you must... I would create an array of the fields that do not need to be validated. Then just check the field name against the array to determine if you should validate or not. I found the array prototype below on this page: http://snippets.dzone.com/posts/show/3631 So, I take no responsibility as to it's capability. Also, you cannot validate and input by using innerHTML. You have to use the value property. Plus, if you do a "return" before your alert, the alert will never fire. Give this a try (not tested) //Prototyp[e function for searching an array Array.prototype.find = function(searchStr) { var returnArray = false; for (i=0; i<this.length; i++) { if (typeof(searchStr) == 'function') { if (searchStr.test(this[i])) { if (!returnArray) { returnArray = [] } returnArray.push(i); } } else { if (this[i]===searchStr) { if (!returnArray) { returnArray = [] } returnArray.push(i); } } } return returnArray; } //Create an array of non required fields var nonRequiredFields = new Array ('field-1', 'field-3', 'field-10'); function checkF() { //reference to input fields object var allInputs = document.getElementsByTagName('input'); //Iterrate through all the input fields for (var i=0; i<allInputs.length; i++) { //Check that field is NOT in non required fields if (!nonRequiredFields.find(allInputs[i].name)) { //Check if field is empty if(!allInputs[i].value) { alert("Required field(s) are empty, please make sure all required fields are entered.") return false; } } } //All required fields are enbtered return true; } Quote Link to comment https://forums.phpfreaks.com/topic/175878-exclude-fields-being-checked-for-empty-when-using-getelementbytagname/#findComment-927127 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.