解码以接受特殊字符

时间:2015-04-06 04:44:37

标签: javascript jquery html regex decode

我有以下js函数:

$(function() {
  $(".search").keyup(function() {
    var searchid = $(this).val();
    var dataString = 'search=' + searchid;
    if (searchid != '') {
      $.ajax({
        type: "POST",
        url: "search.php",
        data: dataString,
        cache: false,
        success: function(html) {
          $("#result").html(html).show();
        }
      });
    }
    return false;
  });

  jQuery("#result").live("click", function(e) {
    var $clicked = $(e.target);
    var $name = $clicked.find('.name').html();
    var decoded = encodeURIComponent($("<div/>").html($name).text());
    window.open('searchPage.php?user_query=' + decoded, '_self', false);

    $('#searchid').val(decoded);
  });
  jQuery(document).live("click", function(e) {
    var $clicked = $(e.target);
    if (!$clicked.hasClass("search")) {
      var $name = $clicked.find('.name').html();

    }
  });
  $('#searchid').click(function() {
    jQuery("#result").fadeIn();
  });
});

在当前状态下,它不接受特殊字符。从某种意义上说,它是一个搜索建议,当用户点击某个项目时,它会将它们带到搜索结果中。这项工作对常规字符进行罚款,但只要撇号,斜线或任何特殊字符等特殊字符被抛入其中就不再有用了。

这是解码完成的区域:

var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = encodeURIComponent($("<div/>").html($name).text());

0 个答案:

没有答案