以下のサンプル ページでは、他のブラウザーとは異なる IE の出力が得られます。
<html>
<head>
<title>hidden fields test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form>
<input type="hidden" value="hidden1" />
<input type="hidden" value="hidden2" />
<input type="text" value="text1" />
<input type="text" value="text2" />
</form>
<script type="text/javascript">
$(function() {
var inputs = $("form input:enabled");
var concatenated = '';
inputs.each(function() {
concatenated = concatenated + $(this).val();
});
alert(concatenated);
});
</script>
</body>
</html>
IE 8 (8.0.7600.16385) では "text1text2" が出力され、Chrome (10.0.648.127) および Firefox (3.6.13) では "hidden1hidden2text1text2" が出力されます。これは私にとって予想外でした。これは IE や jQuery のバグですか、それとも jQuery が考慮していないブラウザーの予想される違いですか?
IEの隠しフィールドは常に暗黙の「無効」を持っていますか?