我有一個PHP頁面中有很多文本輸入的表單,每個表單都有一個預設值。 當有人通過POST提交頁面時,我想知道其中哪些已被更改,所以我想我可以在有人輸入文本時設置文本屬性(如背景顏色)。我可以通過php POST獲取對象的屬性嗎?
提交後,如何獲得輸入的屬性以查看它們是否已更改? $ _POST ['name_of_text_input']只返回輸入的值?
我有一個PHP頁面中有很多文本輸入的表單,每個表單都有一個預設值。 當有人通過POST提交頁面時,我想知道其中哪些已被更改,所以我想我可以在有人輸入文本時設置文本屬性(如背景顏色)。我可以通過php POST獲取對象的屬性嗎?
提交後,如何獲得輸入的屬性以查看它們是否已更改? $ _POST ['name_of_text_input']只返回輸入的值?
你不能看到它們是否已經如此簡單地改變。
PHP在服務器上運行,一旦數據發送給用戶,就PHP而言,這就是它的結束。它不記得任何東西,除非你明確地告訴它記住(通過session
或數據庫中的一些數據)。
你會做下列之一:
您可以爲每個文本輸入添加隱藏字段,並在javascript中爲這些隱藏字段設置一個值(更改輸入事件)。
如果您使用HTML5,如果沒有輸入值,則默認值應取你也許可以使用佔位符
<input type="text" placeholder="default value">
在PHP中,你應該檢查。
無法使用$ _POST獲取輸入的屬性。但是,您可以使用JavaScript代碼來記住初始輸入的狀態並僅發送更改的字段。
一個簡單的解決辦法是創建條目隱藏字段和他們算賬對比:
<form>
<!-- old values -->
<input type="hidden" name="old_name" value="<?=$name;?>" />
<input type="hidden" name="old_surname" value="<?=$surname;?>" />
<!-- current values -->
<input type="text" name="name" value="<?=$name;?>" />
<input type="text" name="surname" value="<?=$surname;?>" />
</form>
現在,提交後,你可以用name
比較old_name
,看看它們是不同的。
任何時候你在HTML中具有FORM
,什麼POST (HTML)
所做的就是與name
發送到您的.php
服務器端POST
陣列中的所有變量。 所以,你可以訪問它們作爲$_POST['name_of_the_input']
例如:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
可以在PHP
訪問爲:
<?php
echo $_POST["fname"];
echo $_POST["age"];
?>
+1秒(比較PHP)選項。 – 2012-08-01 11:47:44