有没有办法在textarea的文本末尾获得固定的默认文本?为什么?我有一个textarea来制作twitter stsatuses,最后,每个用户都必须签名。所以我希望在文中有它,它们无法删除。
任何代码或插件都可以吗?
答案 0 :(得分:3)
我认为这已经太老了,我在想你是否对你的问题有任何好的解决方案,因为我几乎就像在这里做同样的事情。如果没有,也许你想在http://jsfiddle.net/index/tX44C/2/检查我的答案。
答案 1 :(得分:0)
不久前我不得不解决类似的问题。我决定限制他们可以添加到twitter文本区域的作品数量,而不是固定文本,这样只允许110个字符,而不允许使用140个字符。我在客户端使用jquery强制执行此操作,并在服务器端验证它。
在您的情况下,请使用与以下相同的代码,但请替换:
tweet = $('#edit-tweet').val();
带
tweet = $('#edit-tweet').val() + 'Your Signature';
这是我在客户端使用的代码:
$(document).ready(function() {
var tweet_area = $('#edit-tweet');
tweet_area.keyup(count_down);
count_down();
dim();
tweet_area.hover(highlight, dim);
});
/**
* Count down function
*/
function count_down() {
var left = 110 - $('#edit-tweet').val().length;
if (left < 0) {
left = 0;
limit_text(tweet);
} else {
tweet = $('#edit-tweet').val();
}
$('#counter').text(' - ' + left);
}
/**
* Limits the tweet text value to static sized tweet.
*
* @param tweet
* the static sized tweet
*/
function limit_text(tweet) {
$('#edit-tweet').val(tweet);
}
/**
* Callback for hover in function
*/
function highlight() {
var tweet_style_focusin = {
'width' : '600px',
'height' : '50px',
'border' : '3px solid #cccccc',
'padding' : '5px',
'font-family' : 'Tahoma, sans-serif',
'background-image' : 'url(bg.gif)',
'background-position' : 'bottom right',
'background-repeat' : 'no-repeat'
};
$(this).css(tweet_style_focusin);
$(this).focus();
}
/**
* Callback for hover out function
*/
function dim() {
var tweet_style_foucsout = {
'width' : '600px',
'height' : '50px',
'border' : '1px solid #cccccc',
'padding' : '5px',
'font-family' : 'Tahoma, sans-serif',
'background-image' : 'url(bg.gif)',
'background-position' : 'bottom right',
'background-repeat' : 'no-repeat'
};
$('#edit-tweet').css(tweet_style_foucsout);
}
答案 2 :(得分:0)
我不认为这是可能的,但我会使用另一种方法。您可以在textarea下为主文本添加一个禁用的textarea或简单的div。
<textarea name="blabla"><textarea>
<div class="signature">signature</div>
而不是后端的工作。
我不知道你在用什么。
所以对于像这样的PHP:
<?php $_POST['blabla'] .= $signature ?>
在这样的轨道:
def some_action
params[:blabla] << signature
end
这样用户无法以任何方式更改签名。即使你发现一个有效的jQuery解决方案,它总是不安全,因为用户可以更改javascript代码,或者完全禁用它,而不是用户能够更改他的签名。
恕我直言,服务器端方法是最好的方法。
答案 3 :(得分:0)
我会在div
下创建一个宽度完全相同的textarea
。我会尝试通过确保边框和背景一致并消除textarea
的下边框和{{1的上边框 - 尽可能使它们看起来像一个实体textarea
使用CSS。