html - How to change the value of an active text input using Javascript? -


i trying make form date input.
however, input in date format, , change value while control still active.
here full code :

   // javascript code    function add_value()  {    var dataoriginale = document.getelementbyid("fin_mater").value;    if(document.getelementbyid("fin_mater").value.length = 2)      {        document.getelementbyid("fin_mater").value=dataoriginale+'-';      }    else if(document.getelementbyid("fin_mater").value.length = 5)      {        document.getelementbyid("fin_mater").value=dataoriginale+'-';      }  }
<!-- code of input -->    <input id="fin_mater" type="text" onchange="add_value();" name="fin_mater" maxlength="10" placeholder="dd-mm-yyyy"/>

but updating text when exit of control, , know how run javascript function while control still active.

thanks.

first let's make code smell more "javascript" :)

   // javascript code  function $(id) {      return document.getelementbyid(id);  }    function add_value(event) {      var dataoriginale = $("fin_mater").value,           len = dataoriginale.length,          key = event.keycode || event.charcode;        // allow backspace , del      if (key === 8 || key === 46) {          return true;      }            if(len === 2 || len === 5) {          $("fin_mater").value = dataoriginale + '-';      }         return false;  }
<!-- code of input -->    <input id="fin_mater" type="text" onkeyup="add_value(event);" name="fin_mater" maxlength="10" placeholder="dd-mm-yyyy"/>

if want append "-" automatically when input numbers, can listen on "onkeyup" event of text box rather "onchange".

ps: can use key code limit numbers input , validations.


Comments