JavaScript textarea字符计数器插入选项卡

时间:2013-04-26 21:55:39

标签: php javascript html textarea

当我网站上的用户为他们的个人资料设置他们的简历时,会有一个Javascript字符计数器来显示他们剩余的字符数。

当他们去编写新的bio或编辑他们当前的bio时,他们当前的bio在标签内部从数据库中回显。这是代码

<script>
  $(document).ready(function() {
    var text_max = 300;
    $('#textarea_feedback').html(text_max + ' characters remaining');
    $('#textarea').keyup(function() {
      var text_length = $('#textarea').val().length;
      var text_remaining = text_max - text_length;
       $('#textarea_feedback').html(text_remaining + ' characters remaining');
    });
  });
</script>
<form action="profile_edit_bio.php" method="post">
  <textarea id="textarea" name="bio" class="input-xxlarge" maxlength="300" placeholder="Update your bio! This should be a short paragraph explaining why you're awesome. (Max characters 300)">
    <?php if(strlen($row[20])!=0) {echo $row[20];}?>
  </textarea>
  <div id="textarea_feedback">
    If you're seeing this message, please <a href="mailto:support@jaycraft.co">contact support</a>
  </div>
  <button type="submit" class="btn btn-info">Update bio</button>
</form>

当他们点击表单中的提交按钮时,它会成功保存生物和一切,但现在它会显示他们的生物,<?php if(strlen($row[20])!=0) {echo $row[20];}?>周围有大量标签。

所以,例如

  

您好,我的名字是詹姆斯

会变成

                          Hello, my name is James

脚本肯定有问题,因为它不会将这些空格/标签保存到数据库中。

1 个答案:

答案 0 :(得分:3)

您自己插入标签。 <textarea></textarea>之间的 ANYTHING 成为所显示的可修改文字的一部分。你的代码应该是

<textarea>$text_to_insert</textarea>

请注意,标记和插入的变量/ text之间没有任何空格。您的版本是

<textarea>[linebreak]
[tab][tab][tab]$text_to_insert[linebreak]
</textarea>