2009-12-12 91 views
4

我需要一個不使用自動填充功能的文本輸入字段 - 如果用戶以前提交過表單,他以前的提交應該不會出現,因爲他再次鍵入到表單中,即使他再次輸入相同的東西。據我所知,有幾個方法可以做到這一點:刪除輸入框的自動填充的方法

1. <form autocomplete="off">
不過,我相信這是一個專有的標籤,我不知道它是跨瀏覽器

如何兼容

2.給輸入字段一個隨機的'名字'
甚至可以在提交之前使用JS將名稱設置回預期值。但是,如果用戶沒有安裝JS,則需要另一個名稱爲隱藏的輸入 - 而另一端的php代碼會變得很亂。

你知道任何其他方式嗎?其中一種方式是「接受」方式嗎?註釋?

感謝,
麻辣

回答

1

堅持使用隨機名稱。您可以簡單地完成服務器和客戶端,並且滿足您的no-js要求。

0

您可以在$_SESSION變量存儲原始和更改名稱輸出形式之前,用戶提交後,剛剛從那裏得到的名字:

$random_name = md5('original_name' . time()); 
$_SESSION['original_name'] = $random_name; 

...output form... 

,並請提交您可以輕鬆地獲得價值後從$_POST使用$_SESSION變量:

$field_value = $_POST[$_SESSION['original_name']]; 

只要確保您有可用的任何處理之前調用session_start()會議。

0

自動完成的東西,瀏覽器決定自己做,所以肯定沒有規範文件來看待。