代码之家  ›  专栏  ›  技术社区  ›  ThoKra

文本区域末尾的固定文本

  •  1
  • ThoKra  · 技术社区  · 14 年前

    有没有办法在文本区域的文本末尾获得一个固定的默认文本?为什么?我有一个textarea来制作twitter stsatus,最后,每个用户都必须有自己的签名。所以我想把它写在文本里,他们不能删除。

    有没有代码或插件可以做到这一点?

    4 回复  |  直到 14 年前
        1
  •  3
  •   index    13 年前

    我觉得这已经太老了,我在想,如果你有什么好的解决办法,你的问题,因为我几乎喜欢做同样的事情在这里。如果不是的话,也许你想看看我的答案 http://jsfiddle.net/index/tX44C/2/

        2
  •  0
  •   jigfox    14 年前

    我不认为这是可能的,但我会用另一种方法。您可以添加一个禁用的textarea或简单地在textarea下为主文本添加一个div。

    <textarea name="blabla"><textarea>
    <div class="signature">signature</div>
    

    我不知道你在用什么。

    <?php $_POST['blabla'] .= $signature ?>
    

    在rails中:

    def some_action
      params[:blabla] << signature
    end
    

        3
  •  0
  •   DLH    14 年前

    我会创造一个 div 完全一样的宽度 textarea 尽可能确保边界和背景的一致性,消除背景的底部边界 文本区域 部门 使用CSS。

        4
  •  0
  •   dkinzer    14 年前

    不久前我不得不解决一个类似的问题。我决定不使用固定的文本,而是限制他们可以添加到twitter文本区域的作品数量,这样就不允许使用140个字符,只允许使用110个字符。我在客户端使用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);
    }