2012-12-01 112 views
2

我是新來的所以希望我尊重協議;-)

這裏有一個簡單的問題,對於一些原因,我解決不了以前的默認值。

我有一個表單調用一個php文件,以及幾個文本輸入字段與默認值設置。例如:

<form class="form-horizontal" method="post" action="profile.php"> 
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" value="Park Avenue"> 
<button type="submit" class="btn btn-primary">Save changes</button> 
</form> 

如果我提交表單保留默認值不變,$_POST['q-2-Address']包含默認的「公園大道」作爲預期。

如果我嘗試更改輸入文本字段中的值(例如:「麥迪遜大道」),我可以看到$_POST['q-2-Address']中的結果被設置爲「麥迪遜大街」,如預期的那樣。

但是,如果我嘗試通過刪除所有文本來清除值,則$_POST['q-2-Address']不是空白,事實上可以回到包含最初設置爲「Park Avenue」的默認值。

因此,如果我想通過用空白替換先前填充的字段來更新表單,這似乎是不可能的,也不可能檢測到該字段已被清除。我嘗試使用empty()進行測試,但它當然會給出錯誤結果,$_POST包含默認值,因此即使文本字段爲空也不爲空。

由於我沒有進入像單個空間這樣的東西,我沒有看到實際清除字段的方法。

這是件小事,但也許有人對此有所瞭解。

TIA

邁克

+2

發佈你的PHP代碼 –

+0

@Muthu,現在想象的代碼很簡單:<?PHP的echo $ _ POST [ 'Q-2-地址']> ......當默認值被替換爲無(清除),POST變量仍然顯示默認值 –

+0

OK算出來了。感謝您的幫助。上面的例子確實顯示一個空白。我有一些驗證程序正在破壞數值。我的錯! –

回答

0

而不是使用表單中的默認值,你可以使用一個佔位符...

<form class="form-horizontal" method="post" action="profile.php"> 
<input type="text" class="input-xlarge" id="q-2-Address" name="q-2-Address" placeholder="e.g. Park Avenue"> 
<button type="submit" class="btn btn-primary">Save changes</button> 
</form> 

這樣的話,你可以給你一個例子希望在特定的輸入框中使用,而不使用默認文本,這些文本將被php代碼拾取。

這裏是佔位符看起來像jsfiddle。

http://jsfiddle.net/bfwst/

+0

IE不支持佔位符 –

+0

你可以使用jQuery工具來解決這個問題,例如https://github.com/miketaylr/jQuery-html5-placeholder/blob/master/html5placeholder.jquery.js – nerdarama

+0

快速響應....我正在做的是顯示MySQL表的內容,並允許用戶更新它,或者通過更改內容或刪除它。如果我將當前內容放置在佔位符中,則用戶再次輸入空白......即從帖子中,我無法分辨用戶是否嘗試刪除內容或使其保持不變。因此,佔位符在這裏不可用... –