2014-12-02 59 views
0

我有一个表单,用户输入一些值,我做了一些使用JS的计算,并返回一个文本框中的结果,只显示给用户两位小数。发布了比显示更多小数

如果他想保存结果,他按下一个提交按钮,将发布文本框的值并将其保存在我的数据库中。

我想知道是否有可能只显示两位数字,但张贴/存储更多(这让我想起Excel,在那里你看到有限的小数点数,但在某处存储更精确的值)。

我想过要创建一个隐藏字段,其中的值将被发布和存储,但我想知道是否有更优雅的解决方案。

+2

我只是想建议一个隐藏的领域,然后你在你的问题中提到了我。我会说这是做这件事的最好方法。对于奖励积分,*不*给可见的文本框一个'name'属性,以便它不会被发送到服务器 - 节省几个字节的带宽XD – 2014-12-02 13:37:49

+1

是的,我可能会去与隐藏的领域。让事情变得简单和干净。你可以用'span'替换可见的文本框以避免与表单域混淆,或者Niets建议不给它一个'name'也是好的 – Rhumborl 2014-12-02 13:39:09

回答

0

选项1

如果您存储在窗口对象上的不全面的答案,你可以拿回来用JavaScript的任何时刻。

// ... 
//calculating 
// ... 

var answer = 1 + 1; 
window.answer = answer; 

// Write answer to textbox in 2 decimals 
theTextbox.value = Math.round(answer * 100)/100; 

现在您可以使用AJAX将值存储在数据库中。

用我的这个选项的最新答案总是存储为:

window.answer; 

功能已经用完即使经过。它将一直呆在那里,直到页面刷新。

选项2

商店中隐藏的输入字段和值等到用户点击按钮后的形式。

// ... 
//calculating 
// ... 

var answer = 1 + 1; 

theHiddenInput.value=answer; 

// Write answer to textbox in 2 decimals 
theTextbox.value = Math.round(answer * 100)/100;