簡體   English   中英

PHP的聯系頁面錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM