2012-10-17 85 views
0

我有一個選項面板,在此選項面板中,我有一個ID爲'mytheme_about_me'的文本區域。限制文本區域的字符

我想限制這個文本區域的字符。我找到了很多jQuery解決方案,但是因爲文本區域與我的index.php不在同一個php頁面中,所以我無法使用jQuery。所以我想知道如何使用PHP來做到這一點?

+0

*但是因爲文本區域與我的index.php不在同一個php頁面中,所以我不能使用jQuery * .....沒有任何意義 –

+1

您是否在問如何在表單提交後驗證PHP中文本的長度,或者如何驗證用戶在JavaScript中輸入文本的長度? – newfurniturey

+0

你可以隨處使用jQuery。就像你在index.php中包含jquery腳本一樣。 – enenen

回答

1

您可以使用maxlength屬性,主屬性瀏覽器現在也支持該屬性(對於textarea也是如此)。請注意,瀏覽器可能會以不同的方式計算換行符(每個中斷爲1或2個字符)。 (我想這個問題是關於客戶端檢查服務器端檢查不應該是一個問題。)

+0

+1 - 不需要JS。對於支持,請檢查:http://wufoo.com/html5/attributes/03-maxlength.html - 不幸的是它只在IE10 +中可用... – insertusernamehere

1

HTML方式: 只需添加maxlenght到HTML輸入,所以它會防止將字符在20,舉個例子。 <input type="text" name="whatever" maxlength="20">。這是不安全的,因爲任何用戶都可以修改此代碼並更改字符限制,不要忘記運行php測試。

PHP方式: 使用strlen($yourstring)知道你的字符串的lenght所以你可以指定限制,不要忘記,PHP我的意思是「服務器腳本雙面」因此本次測試將您的服務器上執行,防止客戶端破解你的代碼。

if (strlen($yourstring) <= 25) 
// Save the input value 
else 
    echo 'your input is too long (25 characters max)'; 

PS:因爲你需要包括它的每一個PHP頁面上使用的是,不僅在index.php

1

從來沒有少,你可以做你不能訪問你的jquery.js它在 「普通」 的JavaScript

<script type="text/javascript"> 
function limit(max) { 
    var textarea = document.getElementById('textarea'); 
    if (textarea.value.length > max) { 
     textarea.value = textarea.value.substring(0, max); 
    } 
} 
</script> 

HTML

<textarea id="textarea" onkeydown="limit(10);">bla bla</textarea> 

通話limit()用的最大數量你會允許的字符

+0

不錯的一個..但我總是可以禁用java腳本或通過標頭注入文本.. – Baba

+0

@Baba如何通過頭文件注入文本? – insertusernamehere

+0

如果有人禁用JavaScript,那麼它們已經超出範圍。注入文字...? – davidkonrad