2012-10-17 69 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