[英]Contact page error with PHP
我有一個聯系頁面,而php在讀取Name *字段作為5個字符時遇到了麻煩,因為我通過將Name *放在文本區域內來節省我的網頁空間。 我已經在Google上進行了研究,但找不到任何代碼可以幫助忽略這些字符。 我的PHP發布在下面。
if(!$name || strlen($name) < 5) {
$error .= "Please enter your name.<br />";
}
因此,我遇到的問題可能是有人有3個字母的名字。
這里有個提示:不要。 使用真實標簽,而不只是將默認文本轉儲到文本框中。 此外,它如何節省空間?
<input type="text" name="name" value="Name*" />
Name*: <input type="text" name="name" />
沒道理
如果必須,只需添加|| $name == "Name*"
|| $name == "Name*"
。
您可以使用:
<input type="text" name="name" value="" placeholder="Name*" />
除舊版本的IE( http://www.w3schools.com/html5/att_input_placeholder.asp)外,大多數瀏覽器均不支持此功能。
較好的參考網站- http://caniuse.com/input-placeholder (日Thnx CELERITAS)
如果您確實想這樣做以節省布局空間,則可以在集中焦點時嘗試使用類似方法清除該字段中的默認值。
<input type="text" onfocus="if(this.value == 'value') { this.value = ''; }" value="value" />
您可以使用substr跳過前5個字符。
假設您使用POST傳遞表單數據
$name = substr($POST['name'], 5)
Kolink是正確的,我看不到它如何節省空間,只是在文本框外的Name *。 如果您確實想將其保留在框內,則可以在單擊框時使用JavaScript清除框。
正如Kolink所說,您可以添加|| $name == "Name*"
|| $name == "Name*"
到您的if
語句。
否則,這更多是客戶端問題。 如果使用的是JQuery,則可以執行以下操作:
$('#name').attr("is_focused",0);
$('#name').focus(function(){
if($(this).attr("is_focused")==0){
$(this).val("");
$(this).attr("is_focused",1);
}
});
然后,當用戶提交表單時,請執行以下檢查:
if($('#name').attr("is_focused")==0){
alert('You must enter your name');
return;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.