I done a console.log on a variable and in IE it came back with
<HtmlCollection length="8">
<input name="Date_Visit" class="Visitor wmp-calendar hasDatepicker" id="rn_Date_Visit_Visitor_23" required="" type="text"></input>
<input name="Time_Arrival" class="Visitor" id="rn_Time_Arrival_Visitor_23" required="" type="text" maxlength="50"></input>
<textarea name="Visitor_Names" class="Visitor" id="rn_Visitor_Names_Visitor_23" rows="5"></textarea>
<input name="Visitor_Organisation" class="Visitor" id="rn_Visitor_Organisation_Visitor_23" required="" type="text"></input>
<input name="Host_Name" class="Visitor" id="rn_Host_Name_Visitor_23" required="" type="text" maxlength="50"></input>
<input name="Host_Collar" class="Visitor" id="rn_Host_Collar_Visitor_23" required="" type="text" maxlength="50"></input>
<input name="Host_Contact" class="Visitor" id="rn_Host_Contact_Visitor_23" required="" type="text" maxlength="50"></input>
<input name="Floor_Meeting" class="Visitor" id="rn_Floor_Meeting_Visitor_23" type="text" maxlength="50"></input>
</HtmlCollection>
</HtmlCollection>
This is what I used to put the above
var elements = mainDiv.children[i].getElementsByClassName('Visitor');
console.log(elements);
Similar in Chrome (with more detail however)
So this code below, works in Chrome but fails in IE. In IE all it shows is the names, and some random stuff like "length", "item" and "namedItem" on the second console.log. IE11 does not show all property names, just the very first.
for (var k in elements) {
console.log("validateForm 5");
console.log(" > k: " + k);
console.log(" > k.search(rn): " + k.search("rn_"));
if (k.search("rn_") > -1){
console.log("validateForm 6");
var temp = k.split("_");
var key = temp[1]+"_"+temp[2];
var value = elements[k].value;
VisitorData[x] = key+"|"+elements[k].value;//.getAttribute("value");
x++;
}
}
Any advice? So for example https://jsfiddle.net/6f0L9ye8/1/ works fine in Chrom, it brings back everything (including HERE, WE and GO) but IE11 does not