2013-11-28 24 views
0

我有一個表格可以計算成本並相應地設置輸入的值。由於顯而易見的原因,我已經使用:使輸入不可編輯而不禁用

$('#totalcost').attr('disabled',true);

,以防止用戶能夠編輯成本。

但是,當我這樣做時,我用來發送表單的PHP腳本不會接收輸入(不只是值 - 它根本不讀取輸入)。當輸入啓用時,它工作正常。

如何防止用戶編輯輸入,同時仍然具有PHP郵件的價值?或者有沒有更好的方法來做到這一點呢?

+0

禁用的表單元素的值都不會發送閱讀 - 這是明確_specified_這種方式。改用'readonly'。 – CBroe

+0

那麼更好地放置一個隱藏的領域,這可能有助於http://stackoverflow.com/questions/6241943/how-can-i-make-an-input-field-read-only-but-still-have-it- send-data-back-to-fo- –

+0

然後,輸入仍然可以在按下提交後編輯,一個示例工具將是Firefox擴展:'tamperdata' –

回答

6

讓它只讀,沒有禁用:

$("#totalcost").attr('readonly', true); 

你也可以做到這一點在原始的HTML,因爲它不是你真的想改變來回動態的東西。

<input id="totalcost" type="text" readonly> 
+0

使用.prop()可能 –

+0

不,只讀屬性。 – Barmar

+0

工作就像一個絕對的魅力,謝謝。當它讓我時會接受。 – ElendilTheTall

0

使用只讀屬性,雖然我猜它不會在互聯網上的工作。

0

添加只讀屬性,像這樣:

$("#totalcost").attr('readonly', true); 
0

添加屬性只讀= 「真」。

$('#totalcost').attr('readonly',true); 
0

你可以試試:

$("#totalcost").prop("readonly",true); 
0

只能使用在HTML本身或腳本

<input type="text" name="totalcost" id="totalcost" value="" readonly> 

$('#totalcost').attr("readonly", true);