フォーム内のすべての値を調べようとしていますが、未定義になり続け、値が表示されます。私はフォームを動的に作成しているので、未定義はおそらく空白のフィールドから来ていると思います。
すべての要素を取得するために使用しているコードは次のとおりです。
//try to get all elements
var output;
$(this).parents('form') // For each element, pick the ancestor that's a form tag.
.find(':input') // Find all the input elements under those.
.each(function(i) {
//alert(this.value+ " = " + i);
if (typeof this.value === "undefined") {
output = "nothing here";
} else {
output += this.value;
}
});
$("div#total").append("value = " + output + "<br>");
1,2,3,4,5,6 と入力すると、出力は次のようになります。
hello value = undefined
value = undefined1
value = undefined1
value = undefined12
value = undefined12
value = undefined123
value = undefined123
value = undefined1234
value = undefined1234
value = undefined12345
value = undefined12345
value = undefined123456
結果は、未定義の部分を除いて私が望むものです。私はこの答えを見ました: JavaScript: undefined !== undefined? 彼らの提案を試してみましたが、値が未定義でない場合、プログラムに値を保存させることができないようです。
それが役立つ場合は、完全なコードを次に示します: http://jsfiddle.net/lostsoul/rKLrZ/