Javascript / JQuery .replace () не работает

0

Я использую jquery url shortener (https://github.com/hayageek/jQuery-URL-shortener), и я пытаюсь это сделать, когда jquery возвращает сокращенный url, он заменит исходный url в текстовое поле. Моя проблема в том, что.replace(), похоже, не работает здесь:

$("#button").click(function () {
    regex = /(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g ;
    var longUrlLink = $("#textarea").val().match(regex);

    jQuery.urlShortener({
        longUrl: longUrlLink,
        success: function (shortUrl) {
            $("#textarea").val().replace(longUrlLink, shortUrl);
        }
    });

});

Регулярное выражение отлично работает, и shortUrl возвращается точно, поэтому проблема должна заключаться в том, как я написал последнюю строку, но я не могу заставить ее работать.

Любая помощь приветствуется.

  • 1
    возможно, я не слишком много читал об этом, но если вы просто поместите shortUrl в ваш $('#textarea').val() он должен автоматически перезаписать его - $("#textarea").val(shortUrl);
  • 0
    @ntgCleaner правильно. Если все, что вы пытаетесь сделать, это перезаписать значение, тогда вам просто нужно $('#textarea').val(shortUrl); ...
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Вы также должны установить новое значение:

$("#textarea").val($("#textarea").val().replace(longUrlLink, shortUrl));
  • 0
    Да, это работает, блестящее спасибо! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню