【发布时间】:2018-10-06 12:08:04
【问题描述】:
第一次来电,长期听话.. 我试图在通过表单操作按钮将表单提交到我的数据库之前计算 php 表单上的两个用户填写的输入字段以确定另一个输入字段的值。我更喜欢在字段中使用标签,并通过 onfocus 自动计算,就像在我的 msaccess 表单中所做的那样。
这是我所能得到的最接近的。它需要一个按钮并使用文本区域,而不是输入。我愿意使用 ajax,我不想在外部链接 .js 文件
这是一个Fiddle,它可以完成这项工作,但需要点击,而不是表单“输入”。如果我将表单字段从 textarea 更改为 input,它将停止工作。
edit - 我希望字段类型为“输入”而不是“文本区域”是不是错了?
HTML:
<ul class="form-section">
<li class="form-line" >
<label for="WG_Collected">WG Collected</label>
<div>
<input type="number" id="WG_Collected" name="WG_Collected" value="15.0" min="0" step="0.1" required>
</div>
</li>
<li class="form-line" >
<label for="Proof">Proof</label>
<div>
<input type="number" id="Proof" name="Proof" Value="79.4" min="0" step="0.1" required>
</div>
</li>
<li class="form-line" >
<label for="PG_Collected">PG Collected</label>
<div>
<textarea type="number" id="PG_Collected" name="PG_Collected"></textarea>
</div>
<input type="button" value="Calculate PG" id="submitButton" />
</li>
</ul>
脚本
var button = document.getElementById("submitButton");
button.addEventListener("click", function() {
var num1 = document.getElementById('WG_Collected').value;
var num2 = document.getElementById('Proof').value;
var PG_Collected = parseFloat(num1) * parseFloat(num2)/100;
document.getElementById('PG_Collected').innerHTML = PG_Collected.toFixed(2);
}, true);
【问题讨论】:
-
您是否查看了字段上的
change和keyup事件来触发您的功能? -
或
input: jsfiddle.net/khrismuc/d013zupc -
我希望在我点击该字段时进行计算...在其他字段更改时更改它是不可取的,但我会探索。 Chris G - 那个文件是非操作性的 - 更正,直到我输入其他值字段时它才起作用,当我在字段中输入时它不起作用,我不确定这是否直观,但它可能会更好比我有的,谢谢。
标签: javascript php ajax forms