Is it just one form? If so, loop through the childNodes of document.forms[0].
Code:
<script>
function countFields() {
var fieldsCounter = 0;
for (var k = 0; k < document.forms[0].childNodes.length; k++) {
var tag;
if (typeof (tag = document.forms[0].childNodes[k]).tagName != "undefined") {
if (tag.tagName.toLowerCase() == "input" && tag.type.toLowerCase() != "submit") fieldsCounter++;
}
}
alert(fieldsCounter);
}
</script>
<form action="javascript:countFields();">
<input type="text" id="field1" />
<input type="text" id="field1" />
<input type="submit" value="asd" />
</form>
Bookmarks