[Hỏi đáp] Topic prefixes - Tạo danh mục các tiền tố khi đăng bài

  Bài viết hay nhất1
Mình dùng code prefix này của Việt K:
Code:
var prefixes = ["Thông báo", "Tài liệu", "Bàn luận", "Chia sẻ","Giải trí","Truyện","Tin tức","Video - Clip","Âm nhạc","Bầu chọn","Kiến thức","Kĩ năng","Tranh luận"]; //danh sach cac prefix
    var _pm = false; //true: cho phep prefix khi gui tin nhan
    /* Topic prefixes - Copyright © 2011 by Viet K - chinhphuc.info */
    var chk = false;
    function toMenu(a) {
      var htmlpre = '<select style="margin-top: 2px; margin-right:5px; height: 21px" id="prefix" size="1"><option value="">(Chọn tiền tố)</option>';
      for (i in a)
      htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
      htmlpre += '</select>';
      return htmlpre;
    }

    function checkpre(ar, input) {
      for (i in ar) {
          var p = new RegExp("\\" + ar[i], "g");
          var title = input.substr(0, input.indexOf(']'));
          if (p.test(title)) return ar[i];
      }
      return "";
    }
    $(function () {
      if (_pm) chk = /\privmsg/.test(location.href);
      if (/\/post/.test(location.href) || chk) {
          $(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
          var mw = $("#prefix").width() + 5;
          $("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
          var t = $("[name=subject]").val();
          var cur = checkpre(prefixes, t);
          if (cur != "") {
            $("[value=" + cur + "]").attr("selected", "selected");
            $("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
          }
          $("input[name=post]").click(function () {
            var sub = $("input[name=subject]").val().trim();
            if (sub != "" && $("#prefix").val() != "")
                $("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
          });
      }
    });
Không biết xung đột như thế nào mà trong trang "chỉnh sửa bài viết" không hiện bbcode và một số js khác. Nhưng trang soạn thảo bài mới thì ko bị mất bbcode. Ai giúp mình chỉnh lại cái js cho nó ko bị xung đột tiếp ko? :)
http://sinhvienctxh.forumvi.com/
id: DK
pass: dev123
  Bài viết hay nhất2
không có lỗi như bạn nói trang edit bài viết vẫn hiện bbcode
  Bài viết hay nhất3
Không phải ko có mà ngẫu nhiên bài viết nó bị. Ví dụ như bài "Trẻ em bị nhiễm HIV/AIDS và thái độ của cộng đồng" mình edit thì ko hiên. nhưng sang một số bài khác thì lại hiện :(
  Bài viết hay nhất4
Đã phát hiện ra nguyên nhân: những bài nào mình thực hiện chọn tiền tố [...] sẽ bị lỗi không chỉnh sửa được :v
  Bài viết hay nhất5
Cập nhật mod Topic prefixes cũ của Việt K. Mod này sẽ tạo ra một danh mục các tiền tố (prefix) cho người dùng lựa chọn khi họ đăng bài viết.

[Hỏi đáp] Topic prefixes - Tạo danh mục các tiền tố khi đăng bài 3GS5LhP

Thay code prefix của ViệtK bằng code này:
Code:
var prefixes = ["Thông báo", "Tài liệu", "Bàn luận", "Chia sẻ", "Giải trí", "Truyện", "Tin tức", "Video - Clip", "Âm nhạc", "Bầu chọn", "Kiến thức", "Kĩ năng", "Tranh luận"]; //danh sách các prefix
var _pm = false; //true: cho phép dùng prefix khi gửi tin nhắn
/*!
 * Topic prefixes - Copyright © 2011 by Viet K - chinhphuc.info
 * Fix by Zzbaivong - devs.forumvi.com
 */
$(function() {
    var chk = false;
    if (_pm) chk = /\privmsg/.test(location.href);
    if (/\/post/.test(location.href) || chk) {
        var $select = $("<select>", {
            id: "prefix",
            style: "margin-top: 2px; margin-right:5px; height: 21px",
            size: 1,
            html: '<option value="">(Chọn tiền tố)</option>'
        });
        $.each(prefixes, function(i, val) {
            $("<option>", {
                value: val,
                text: val
            }).appendTo($select);
        });
        var $subject = $("input[name='subject']");
        $select.insertBefore("input[name='subject']");
        $subject.width($subject.width() - $select.width() - 5);
        var testPrefix = new RegExp("^\\[(" + prefixes.join("|") + ")\\]");
        var title = $subject.val();
        if (testPrefix.test(title)) {
            var prefix = title.match(/^\[([^\[\]]+)\]\s*(.*)/);
            $select.find("option[value='" + prefix[1] + "']").attr("selected", true);
            console.log($select.find("option[value='" + prefix[1] + "']"));
            $subject.val(prefix[2]);
        }
        $("input[name='post']").click(function() {
            if ($subject.val().trim() !== "" && $select.val() !== "") $subject.val("[" + $select.val() + "] " + $subject.val())
        });
    }
});

Tags: #mod #javascript #jquery #prefix
  Bài viết hay nhất6
Code có lỗi tiếp rồi :v Khi mình không muốn chọn tiền tố thì mặc định tiêu đề nó sẽ dính chữ [(Chọn tiền tố)] ở trong code >:(
  Bài viết hay nhất7
Thay lại code đi.
  Bài viết hay nhất8
ok! close topic được rồi ^_^ (y)
  Bài viết hay nhất9
You cannot reply to topics in this forum