perchè questo script vuole soltanto dati numerici?
document.forms['frmfattura'].elements['data'].value = data;

Se gli passo delle stringhe mi dà errore

mi dà errore anche così:
document.forms['frmfattura'].elements['data'].value = string(data);