/*! { "name": "input[form] Attribute", "property": "formattribute", "tags": ["attribute", "forms", "input"], "builderAliases": ["forms_formattribute"] } !*/ /* DOC Detects whether input form="form_id" is available on the platform E.g. IE 10 (and below), don't support this */ define(['Modernizr', 'createElement', 'docElement'], function(Modernizr, createElement, docElement) { Modernizr.addTest('formattribute', function() { var form = createElement('form'); var input = createElement('input'); var div = createElement('div'); var id = 'formtest' + (new Date()).getTime(); var attr; var bool = false; form.id = id; //IE6/7 confuses the form idl attribute and the form content attribute, so we use document.createAttribute try { input.setAttribute('form', id); } catch (e) { if (document.createAttribute) { attr = document.createAttribute('form'); attr.nodeValue = id; input.setAttributeNode(attr); } } div.appendChild(form); div.appendChild(input); docElement.appendChild(div); bool = form.elements && form.elements.length === 1 && input.form === form; div.parentNode.removeChild(div); return bool; }); });