Вместо использования:
myInput.inputmode = 'decimal';
используйте это:
myInput.setAttribute('inputmode','decimal');
ИЛИ
myInput.inputMode = 'decimal'; // uppercase M
Объяснение : в общем случае " Атрибуты DOM "для html узлов обычно записываются в camelCase , если вы используете javascript! Внутри HTML вы будете использовать «alllowercase» версию. «НЕ ЗАПРОСИТЕ ПОЧЕМУ. ;-)». Но более рекомендуется использовать метод setAttribute()
на узлах, потому что он всегда будет заканчиваться атрибутом элемента DOM, независимо от того, что вы пишете