Search code examples
javascripthtmlstringdateparseint

JavaScript, Adding 2 variables which i have used parseInt on together outputs like a string


Hi guys i'm having an issue with parseInt variables behaving like Strings. More than likely something silly i'm doing wrong. Problem is in the commented area of code

function getNewDate()
{
  var dateEntered = document.getElementById('Temp').value;    //input got from a form
  var daysEntered = document.getElementById('Temp1').value ;  //input got from a form 

  var month = dateEntered.charAt(5)+dateEntered.charAt(6);                                            //creating month 
  var date = dateEntered.charAt(8)+dateEntered.charAt(9);                                             //date
  var year = dateEntered.charAt(0)+dateEntered.charAt(1)+dateEntered.charAt(2)+dateEntered.charAt(3); //and year from input
  var newDate = 0 ;
  parseInt(month) ;           //making the below variables integers for calculations
  parseInt(daysEntered) ;
  parseInt(date) ;
  parseInt(newDate) ;
  var newFullDate = "" ;

  if(month == 01)
  {
    newDate = date + daysEntered ;  //if i enter 01/01/2016 as the date
    if(newDate > 31)                //and 5 for days entered
    {                               //when i piece together the newFullDate
      month = 02 ;                  //it outputs like 2016-01-015
      date = 0 ;
      daysEntered = newDate - 31 ;
    }
    else
    {
      newFullDate = ""+year +"-"+"01"+"-"+newDate ;
      document.getElementsByName('output')[0].value= newFullDate;
    }
  }

Solution

  • You have to assign the values from parseInt to the variables.

    month = parseInt(month) ;
    daysEntered = parseInt(daysEntered) ;
    date = parseInt(date) ;
    newDate = parseInt(newDate) ;