modernizr
Version:
Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.
49 lines (39 loc) • 1.18 kB
JavaScript
/*!
{
"name": "input[form] Attribute",
"property": "formattribute",
"tags": ["attribute", "forms", "input"]
}
!*/
/* 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.length === 1 && input.form == form;
div.parentNode.removeChild(div);
return bool;
});
});