2014-12-02 39 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;