问题描述
我之前尝试过两次发布此问题,但由于与之前的问题太相似,它一直被删除。但是,之前的问题似乎是关于如何防止提交表单,而我的问题是如何防止提交。 (当然,除非我对 preventDefault 有一些不了解,这很可能是。)
我编写了一个 Flash 应用程序并使用 javascript 根据用户输入计算某些字段。当用户输入一个值时,计算的答案在输出区域闪烁,然后消失,页面似乎自动刷新(即输入消失,页面向上滚动到顶部)。 如果我清除缓存并多次刷新页面(有时只是一两次,有时很多次),页面将开始正常工作。但是下次我启动它时,同样的事情发生了。但是,当用户从以前使用过的值的弹出窗口中选择一个输入值时,该应用程序会起作用。
我没有收到错误消息。我不明白我的代码中是什么导致了这种情况的发生。这是两个计算字段的代码。首先,用户输入一个代表员工流失率的数字,然后计算返回与该流失率相关的费用与当前流失率的差异。在第二个中,用户输入员工 ID 号,计算返回该员工离开公司的几率。
d3.json('/turnover_cost',function(data) {
var turnover = (Object.values(data[5]))
var avg_cost = data[2].avg_cost
var total_cost = data[3].total_cost
var total_display_cost = total_cost.toLocaleString('en-US')
var total_employees = data[0].total_employees
d3.select("#currentRate").text(`Current Turnover Rate: ${turnover}%`)
d3.select("#currentCost").text(`Estimated Cost of Current Turnover: $${total_display_cost}`)
input = d3.select("#new_rate")
input.on("change",runestimate)
function runestimate() {
var new_rate = (d3.select("#new_rate").node().value / 100)
var new_cost = (avg_cost * (new_rate * total_employees))
var difference = (parseInt(total_cost - new_cost))
var post = difference.toLocaleString('en-US')
d3.select("#cost_diff").text(`$${post}`)
d3.select("#new_rate").node().value = "";
console.log(difference)
}
})
d3.json('/employee_data',function(data) {
input = d3.select("#emp_num")
input.on("change",runPredict)
function runPredict() {
inputted_num = d3.select('#emp_num').node().value;
const found = data.some(el => el.employee_number == inputted_num);
if (!found) prediction = "Number not found";
var prediction
for (var i = 0; i < data.length; i++) {
if (inputted_num == data[i].employee_number) {
prediction = (data[i].loss_probability).toFixed(1);
}
}
d3.select("#prediction").text(`${prediction}%`);
d3.select("#emp_num").node().value = "";
}
这是 HTML:
<div class="panel-body">
<form id="rate">
<input type="float" id="new_rate">     
<ouput type="integer" id="cost_diff">
<br><br>
</form>
<form id="predict">
<input type="integer" id="emp_num">     
<ouput type="float" id="prediction">
<br><br>
</form>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)