mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-05-17 15:11:04 +00:00
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
/*!
|
|
{
|
|
"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;
|
|
});
|
|
});
|