форма атрибут ввода является особый случай. Он использовался до функции HTML5, чтобы ссылаться на родительскую форму, но теперь она также используется как атрибут, поэтому у вас будут ложные срабатывания в IE.
Существует функция проверки, но она включает взаимодействие с DOM, которое, вероятно, повлияет на производительность, но здесь вы все равно идете. Надеюсь, поможет.
function testInputFormSupport() {
var input = document.createElement('input'),
form = document.createElement('form'),
formId = 'test-input-form-reference-support';
// Id of the remote form
form.id = formId;
// Add form and input to DOM
document.body.appendChild(form);
document.body.appendChild(input);
// Add reference of form to input
input.setAttribute('form', formId);
// Check if reference exists
var res = !(input.form == null);
// Remove elements
document.body.removeChild(form);
document.body.removeChild(input);
return res;
}
-1 Не работает для этих атрибутов. – Stijn