Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重置InnerHTML_Javascript_Innerhtml - Fatal编程技术网

Javascript 重置InnerHTML

Javascript 重置InnerHTML,javascript,innerhtml,Javascript,Innerhtml,我一直在看过去提交的关于这一点的意见,并没有能够找到一个解决方案,似乎工作 我有一个简单的表单,它计算并增加一个值。innerHTML输出(“YourAmount”)在第一次提交表单时工作正常。但是,如果我用另一个数量重新提交表单,原始输出将用新的计算结果闪烁旧的计算结果。如何重置innerHTML输出 谢谢 //用于将数字格式化为货币格式的函数 函数CurrencyFormatted(金额){ var i=浮动(金额); if(isNaN(i)){ i=0.00; } var负=“”; if

我一直在看过去提交的关于这一点的意见,并没有能够找到一个解决方案,似乎工作

我有一个简单的表单,它计算并增加一个值。innerHTML输出(“YourAmount”)在第一次提交表单时工作正常。但是,如果我用另一个数量重新提交表单,原始输出将用新的计算结果闪烁旧的计算结果。如何重置innerHTML输出

谢谢

//用于将数字格式化为货币格式的函数
函数CurrencyFormatted(金额){
var i=浮动(金额);
if(isNaN(i)){
i=0.00;
}
var负=“”;
if(i<0){
负='-';
}
i=Math.abs(i);
i=parseInt((i+.005)*100);
i=i/100;
s=新字符串(i);
如果(s.indexOf('.')<0){
s+='.00';
}
if(s.indexOf('.')==(s.length-2)){
s+='0';
}
s=负+s;
s=通信格式(s)
返回s;
}
//用于使用嵌入逗号格式化数字的函数
功能通信格式(金额){
var delimiter=“,”;//如果需要,请替换逗号
var a=金额分割('.',2)
var d=a[1];
var i=parseInt(a[0]);
if(isNaN(i)){
返回“”;
}
var负=“”;
if(i<0){
负='-';
}
i=Math.abs(i);
var n=新字符串(i);
var a=[];
而(n.长度>3){
var nn=n.substr(n.length-3);
a、 非移位(nn);
n=n.substr(0,n.length-3);
}
如果(n.长度>0){
a、 非移位(n);
}
n=a.join(分隔符);
如果(d.长度<1){
金额=n;
}否则{
金额=n+'.+d;
}
金额=减+金额;
退货金额;
}
函数计算(){
var NumStores=document.getElementById('NumStores').value;
var result=document.getElementById('result');
var baseProfit=NumStores*50.00;
结果价值=基本利润;
var baseProfitOverYear=baseProfit*360;//360天内的基本利润(门店x成本)
var result2=document.getElementById('result2');
结果2.价值=每年的基本利润;
var amount=baseProfitOverYear;//从服务器加载
var delay=1000;//毫秒
var incAmount=20;//更改为要增加的金额
var tId=setInterval(函数(){
document.getElementById(“YourAmount”).innerHTML=“$”+CurrencyFormatted(amount+=incAmount);
},延误)
}
//禁用回车键
$(文档)。按键(
功能(事件){
如果(event.which=='13'){
event.preventDefault();
}
});




您的金额为0

首先,您应该在段落标记内创建一个span标记来保存该值。然后确保一次只发生一次间隔

//文档元素和变量
var numStores=document.getElementById('num-stores'),
结果=document.getElementById('result-1'),
result2=document.getElementById('result-2'),
yourAmount=document.getElementById('your-amount'),
intervalId=null;//我们需要记住这个。。。
//常数
var profitMargin=50.00,
numberOfDays=360,
incAmount=20,//更改为希望增加的金额
timerDelay=1000;//毫秒
函数计算(){
var inputValue=numStores.value;
var baseProfit=输入值*利润边际;
var baseProfitOverYear=baseProfit*numberOfDays;//超过360天的基本利润(门店x成本)
var amount=baseProfitOverYear;//从服务器加载
结果价值=基本利润;
结果2.价值=每年的基本利润;
clearInterval(intervalId);//在开始新的全局间隔之前,请清除该全局间隔。
intervalId=setInterval(函数(){
yourAmount.innerHTML=“$”+CurrencyFormatted(amount+=incAmount);
},timerDelay);
}
//禁用回车键
$(文档).按键(功能(事件){
如果(event.which=='13'){
event.preventDefault();
}
});
//用于将数字格式化为货币格式的函数
函数CurrencyFormatted(金额){
var i=浮动(金额);
if(isNaN(i)){
i=0.00;
}
var负=“”;
if(i<0){
负='-';
}
i=Math.abs(i);
i=parseInt((i+.005)*100);
i=i/100;
s=新字符串(i);
如果(s.indexOf('.')<0){
s+='.00';
}
if(s.indexOf('.')==(s.length-2)){
s+='0';
}
s=负+s;
s=通信格式(s)
返回s;
}
//用于使用嵌入逗号格式化数字的函数
功能通信格式(金额){
var delimiter=“,”;//如果需要,请替换逗号
var a=金额分割('.',2)
var d=a[1];
var i=parseInt(a[0]);
if(isNaN(i)){
返回“”;
}
var负=“”;
if(i<0){
负='-';
}
i=Math.abs(i);
var n=新字符串(i);
var a=[];
而(n.长度>3){
var nn=n.substr(n.length-3);
a、 非移位(nn);
n=n.substr(0,n.length-3);
}
如果(n.长度>0){
a、 非移位(n);
}
n=a.join(分隔符);
如果(d.长度<1){
金额=n;
}否则{
金额=n+'.+d;
}
金额=减+金额;
退货金额;
}
label{font-weight:bold;}
.input字段{显示:块;}
.input字段标签{显示:内联块;宽度:7.667em;}

门店数量

您的金额是:$0.00

基本利润
年度利润
您似乎有一些JavaScript错误。“result”和“result2”元素在哪里?发布所有需要的htmlMr。Polywhill,谢谢你的意见。我真的很感激。当我提交一个数字,并且第一次计算运行时,它会像预期的那样工作。如果我输入另一个金额并再次单击“计算”,我会看到两个结果之间的闪烁。有没有办法摆脱这个问题?我修正了它,你需要记住ID,这样一次只能出现一个间隔。我明白了。还在学这些东西。这比以前更有效率。非常感谢你的帮助。