Trang chủTrang chủ Liên hệLiên hệ
PHP BASIC

» Events  » References  » Tutorials  » Hướng dẫn  RSS Feed2.0 Đăng ký | Đăng nhập

Dịch PHP Manual (đã dịch 113 /1248)
Thêm bài viết mới
#Thêm ý kiến
Emotion|Show / Hide
Đoạn code này dùng để chèn 1 đoạn text vào ô textare mà vẫn giữ được vị trí hiện tại của con trỏ trên textarea.


<script>
function BASIC_InsertTag(tagOpen, tagClose, sampleText) {
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var areas = document.getElementsByTagName('textarea');
var txtarea = areas[0];
if (document.selection  && !is_gecko) {
  var theSelection = document.selection.createRange().text;
  if (!theSelection) {
   theSelection=sampleText;
  }
  txtarea.focus();
  if (theSelection.charAt(theSelection.length - 1) == " ") { // exclude ending space char, if any
   theSelection = theSelection.substring(0, theSelection.length - 1);
   document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
  } else {
   document.selection.createRange().text = tagOpen + theSelection + tagClose;
  }
// Mozilla
} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
  var replaced = false;
  var startPos = txtarea.selectionStart;
  var endPos = txtarea.selectionEnd;
  if (endPos-startPos) {
   replaced = true;
  }
  var scrollTop = txtarea.scrollTop;
  var myText = (txtarea.value).substring(startPos, endPos);
  if (!myText) {
   myText=sampleText;
  }
  var subst;
  if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
   subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
  } else {
   subst = tagOpen + myText + tagClose;
  }
  txtarea.value = txtarea.value.substring(0, startPos) + subst +
   txtarea.value.substring(endPos, txtarea.value.length);
  txtarea.focus();
  if (replaced) {
   var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
   txtarea.selectionStart = cPos;
   txtarea.selectionEnd = cPos;
  } else {
   txtarea.selectionStart = startPos+tagOpen.length;
   txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
  }
  txtarea.scrollTop = scrollTop;
}
if (txtarea.createTextRange) {
  txtarea.caretPos = document.selection.createRange().duplicate();
}
}</script>
<form id="form1" name="form1" method="post" action="">
  <textarea name="textfield" id="textfield"></textarea>
  <a href="javascript:BASIC_InsertTag('', '', 'In đậm');">Insert B</a>
</form>

Tác giả:TG
Webmaster
http://phpbasic.com

Show / Hide
#Thêm ý kiến

Add phpBasic to your browser's search box
Digg.com delicious Furl Google Bookmark Reddit Slashdot Yahoo My Web

Web design

Tableless template Framework PHP functions
jQuery
Các bài viết đã xem • Menu CSS 3 • Menu đa cấp - Đệ qui


XHTML Standard
Xây dựng & phát triển bởi tất cả các thành viên.
Powered by http://phpbasic.com