2013-04-30 82 views
-1

例如我有一個禁用的輸入可以保存一段時間,但我想以友好的格式顯示給用戶。就像選擇元素一樣,帶有in的選項可以保存與顯示不同的值創建一個文本輸入的標籤,它是diffrenet,值爲

<select><option value=1>Label is there</option></select> 

可以使用輸入來完成嗎?

<input type='text' value='<?=$time?>' label='<?=date('c',$time);?>' /> 

P.S:我不是要求一個佔位符。

目前Im做

<label for="app_time">Time</label> 
<input type="hidden" value="2013-04-27 15:40:00" name="app_time"> 
<input type="text" value="27 Apr 13, 03:40" Disabled> 

還有沒有其他的方法?

+0

您最好將值存儲在隱藏元素中,並將標籤存儲在純文本框中。 – MatthewMcGovern 2013-04-30 08:37:19

回答

3

您可以在label標籤中包裝輸入。

<label>Text for the input <input type="text" name="yourInput"></label> 

或者您可以參考來自label標記的輸入。

<label for="yourInput">Text for the input</label> 
<input type="text" name="yourInput" id="yourInput"> 

您可以添加樣式到標籤元素,它幫助人們使用輔助技術,因爲它將描述與表單元素相鏈接。

+0

我認爲他不是要求這種類型的標籤。 – linepogl 2013-04-30 08:39:23

1

不是您問路,但你總是可以用一個隱藏的元件保持真正的價值嘗試...

嘗試;

<input type="text" value="<?=date('c',$time);?>" name="dummytime" /> 
<input type="hidden" value="<?=$time;?>" name="realtime" /> 

因此,要獲得$時候這將是$_POST['realtime'],並得到格式化的日期值將是$_POST['dummytime']

+0

這是正確的,但是,文本輸入的名稱不是必需的。 – linepogl 2013-04-30 08:39:40

0

不,不像你問的那樣。文本輸入的value是其中顯示的內容。

正如你可以使用與實際值的隱藏輸入,然後把標籤的文本輸入

0

最好的辦法是處理日期轉換爲時間戳服務器端的替代品。您需要確保提交的文本能夠轉換爲時間戳,但是,如果沒有,則會向用戶顯示錯誤。 JavaScript沒有內置的方式將某些給定的用戶輸入的字符串轉換爲計算機可讀的日期格式。

編輯:我假設你想要的實際值匹配任何用戶輸入,而不是一個靜態時間戳。如果您想要提交靜態值而不考慮用戶的輸入,只需使用隱藏輸入(<input type="hidden">)和可以忽略的輔助文本輸入。

相關問題