JavaScript,添加了2个变量,我在输出中使用了parseInt,就像字符串一样
嗨,伙计们,我对parseInt变量的行为像字符串一样有问题。 很可能是我做错了什么傻事。 问题出在代码的注释区域JavaScript,添加了2个变量,我在输出中使用了parseInt,就像字符串一样,javascript,html,string,date,parseint,Javascript,Html,String,Date,Parseint,嗨,伙计们,我对parseInt变量的行为像字符串一样有问题。 很可能是我做错了什么傻事。 问题出在代码的注释区域 function getNewDate() { var dateEntered = document.getElementById('Temp').value; //input got from a form var daysEntered = document.getElementById('Temp1').value ; //input got from a f
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;
}
}
您必须将parseInt中的值分配给变量
month = parseInt(month) ;
daysEntered = parseInt(daysEntered) ;
date = parseInt(date) ;
newDate = parseInt(newDate) ;
parseInt()
不会直接影响变量的值。它只返回结果,因此需要再次将其保存到变量中
例如:
var month = dateEntered.charAt(5)+dateEntered.charAt(6);
month = parseInt(month);
或者您可以在同一行上同时执行这两项操作:
var month = parseInt(dateEntered.charAt(5)+dateEntered.charAt(6));
您需要将
parseInt(month)
etc赋值给变量,如var month=parseInt(dateEntered.charAt(5)+dateEntered.charAt(6))代码>在parseInt(月)
行上放置断点。执行后,检查月
的值,您将看到它没有更改。这会给你一个很好的线索。