можно копировать текст после или внутри функции AJAX - PullRequest
0 голосов
/ 09 октября 2018

Я пробовал много способов скопировать некоторый текст, возвращенный из функции PHP, вызываемой посредством вызова ajax, в буфер обмена.

Я пробовал 2 варианта:

  • создайте текстовый элемент внутри функции, как описано здесь

    const copyToClipboard = str => {
      const el = document.createElement('textarea');
      el.value = str;
      el.setAttribute('readonly', '');
      el.style.position = 'absolute';
      el.style.left = '-9999px';
      document.body.appendChild(el);
      el.select();
      document.execCommand('copy');
      document.body.removeChild(el);
    };
    

    из этого поста: https://hackernoon.com/copying-text-to-clipboard-with-javascript-df4d4988697f

  • , а затем второй подход, поместив входной текст с видимостьюустановить в none.

В обоих случаях я не могу установить значение атрибута и затем использовать функцию select().Как вы можете видеть в моем коде, есть даже js и jQuery подходы для установки значения, но нет надежды!

$("#idStories").change(function() {


  $("#bottone").click(function(event) {
    event.preventDefault();
    var idStory2 = $("#idStory").val();
    $.ajax({
      type: "POST",
      url: "/copia",
      data: {
        "_token": "{!! csrf_token() !!}",
        "idStory": idStory2
      },
      dataType: "json",
      success: function(msg) {
        var textC = JSON.stringify(msg.txt);
        $('#xxx').val('marione');
        var el = document.querySelector("#xxx");
        //el.value='aaaaaaaaaaaaaa';
        console.log(el);
        el.select();
        document.execCommand("copy");
        alert('testo copiato');

      },
      error: function() {
        alert("Chiamata fallita, si prega di riprovare...");
      }
    });
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...