WillDo
WillDo

Reputation: 123

Jquery: "NaN" error related to attribute of form

I am trying to use JQuery Selector Function, and my codes:

<body>
<input type="hidden" name="RECNUM" value="0">
<input type="hidden" name="LOCAL" value="ALE">
<script>
var hiddenvalue = new Array();
var hiddenname = new Array();
$.each($("input:hidden"), function() {
    hiddenname.push($(this).attr("name"));
    hiddenvalue.push($(this).val());
});

for(var hi=0; hi<hiddenname.length; hi++){  
    document.write("<p>hidden:" + +hiddenname[hi]+ "   "+ hiddenvalue[hi] + "</p>");
}
</script>
</body>

While the result is:

hidden:NaN 0

hidden:NaN ALE

Where is my "name" attribute?

Upvotes: 1

Views: 392

Answers (2)

Hasib Tarafder
Hasib Tarafder

Reputation: 5813

Please try the following code....

<body>
<input type="hidden" name="RECNUM" value="0">
<input type="hidden" name="LOCAL" value="ALE">
<script>
var hiddenvalue = new Array();
var hiddenname = new Array();
$.each($("input:hidden"), function() {
    hiddenname.push($(this).attr("name"));
    hiddenvalue.push($(this).val());
});

for(var hi=0; hi<hiddenname.length; hi++){  
    document.write("<p>hidden: "+hiddenname[hi]+"   "+hiddenvalue[hi]+"</p>");
}
</script>
</body>

Upvotes: 2

Rajaprabhu Aravindasamy
Rajaprabhu Aravindasamy

Reputation: 67207

Remove that unnecessary plus, It will actually try to convert the string into number, in your case that string cannot be converted into a number so that it is returning NAN

Try,

for(var hi=0; hi<hiddenname.length; hi++){  
    document.write("<p>hidden:" + hiddenname[hi] + "   " + hiddenvalue[hi] + "</p>");
}

Upvotes: 3

Related Questions