2016-11-18 60 views
0

我正在尝试基于表单字段的输入配置实时调用程序。 我的问题是,我根本无法弄清楚如何在网站上显示结果。实时javascript计算

<label class="contactform-label" for="contactform-member"><span class="contact_form_span">Member*:</span> </label> 
<input class="contactform-input" type="text" id="contactform-member" placeholder="Member" name="member" value="" /> 
<span id="member-kosten"> 
    <script type="text/javascript">document.write(ausgabe)</script> 
</span> 



var price = 90; 
var member = document.getElementById("contactform-member").value; 
var calculate = Math.sqrt(price * member); 
var ausgabe = (calculate); 
+0

@RuchishParikh通常这些标签不会显示在SO代码示例中。事实上,它们不是必需的,并且最好省略。 – 2016-11-18 12:22:05

+0

重复的问题:http://stackoverflow.com/questions/13696679/outputting-a-live-calculation-based-on-field-values-in-a-form – MYGz

回答

2

使用此代码:

function fun(){ 
 
var price = 90; 
 
var member = document.getElementById("contactform-member").value; 
 
var calculate = Math.sqrt(price * member); 
 
var ausgabe = (calculate); 
 
document.getElementById("member-kosten").innerHTML = ausgabe; 
 
    }
<label class="contactform-label" for="contactform-member"><span class="contact_form_span">Member*:</span> </label> 
 
<input class="contactform-input" type="text" id="contactform-member" placeholder="Member" name="member" value="" onkeyup="fun()" /> 
 
<span id="member-kosten"> 
 
    
 
</span>

+0

这段代码的问题与我所看到的和经验一样,它不会显示已经在开始时输入的“成员”的结果。我的意思是,在你输入“1”之后,你将会得到“0”的结果,然后计算才真正开始。输入“2”后,您将得到前一会员输入结果“90”的结果。 –

+0

你能解释一下计算吗?你需要加上价值,如果我输入10,并让结果来到20,然后我将输入从10改变为15,那么结果将是20 + 30 = 50,30将从15得到,并且prev是20. – RJParikh

+0

我需要它会立即显示。如果我输入“1”,我立即需要“90”弹出。目前似乎有一个阶段进入价值的延迟。目前它总是会计算输入的最后一个数字。 –

1

从脚本(最后一行)设置元素member-kosten的HTML:

var price = 90; 
 
var member = document.getElementById("contactform-member").value; 
 
var calculate = Math.sqrt(price * member); 
 
document.getElementById("member-kosten").innerHTML = calculate;
<label class="contactform-label" for="contactform-member"><span class="contact_form_span">Member*:</span> </label> 
 
<input value="10" class="contactform-input" type="text" id="contactform-member" placeholder="Member" name="member" value="" /> 
 
<span id="member-kosten"> 
 
</span>

+0

我检查了你的小提琴,但你的代码不像动态。我在同一时间从输入改变价值结果没有改变。 – RJParikh

+1

如果可能,请尝试使用代码片段,就像@Ruchish所做的那样。片段的工作方式与JSFiddle非常相似,但是可以在SO中在线工作。只需点击< >标签即可。 – Keith