[英]Javascript: Is Object an Array of Elements
今天我有一個問題。 我有一個HTML表單,該表單可以具有用於電子郵件地址的動態數量的HTML輸入字段。 我想通過Javascript通過XMLHttpRequest評估那些數據和帖子。
我這樣獲取輸入字段:
var elements = document.getElementById("emailmodal").elements["multiple[]"];
然后我要檢查它是否是數組,因為如果我只有一個輸入字段元素,則不會包含元素數組,而只會包含一個元素:
if(jQuery.isArray(elements))
{
for(var i = 0; i < elements.length; i++)
{
formData.append("emailreceiver[]", elements[i].value);
}
}else
{
formData.append("emailreceiver[]", elements.value);
}
如果是數組,它將通過For循環遍歷Elements,如果不是,則直接獲取值。
但是,這不能正常工作。 即使我有多個輸入,腳本也會告訴我,它沒有數組。
對應的HTML是
<div class="form-group input-group"> <input type="text" name="multiple[]" class="form-control" value="<?php echo $kundendaten['Email']; ?>"> <span class="input-group-btn"><button type="button" class="btn btn-default btn-add">+</button></span> </div>
這是來自Bootstrap。
如果我將var log設置為控制台,並且有多個元素,則它看起來像這樣:
如果我制作var log並且只有一個元素,它看起來像這樣
我能做什么?
干杯,尼克拉斯
感謝Mmcgowa!
if(elements.length > 1)
{
alert("Array");
for(var i = 0; i < elements.length; i++)
{
formData.append("emailreceiver[]", elements[i].value);
}
}else
{
alert("No Array");
formData.append("emailreceiver[]", elements.value);
}
這可行。 如果elements沒有數組,那么element.length將是不確定的!
我知道您已經有了解決方案,但是為什么不簡化代碼流程並執行以下操作:
if (elements.length == 1) elements = [elements];
// now you know that if *elements* is not empty, it is always an array
for (var i = 0; i < elements.length; i++)
{
formData.append("emailreceiver[]", elements[i].value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.