Как запретить повторное добавление нумерованного списка если в теге есть текст?

Нужна ваша помощь, сам не справлюсь без вас! Есть скрипт, который добавляет тег OL со списком в textarea, чтобы сразу появлялся нумерованный список в текстовом поле. Нужно сделать так, если в первом LI уже есть текст, запретить добавлять повторно в текстовое поле нумерованные списки.

На скрине видно, когда переходишь на страницу редактирование новости, в текстовом поле появляется пустые два списка. введите сюда описание изображения

 // Добавляем нумерованный список в текстовое поле
  var main= document.getElementById("xf_receptext_shagi", "xf_receptext_shagi1");
  var str = '<ol><li></li><li></li></ol>';
      main.innerHTML = str + main.innerHTML;
      
  // Добавляем нумерованный список в текстовое поле
  var main= document.getElementById("xf_receptext_shagi1");
  var str = '<ol><li></li><li></li></ol>';
      main.innerHTML = str + main.innerHTML;
textarea {height:100px;width:500px;border:1px solid red;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h4>Когда пустое поле, добавляем список</h4>
<textarea name="xfield[receptext_shagi]" id="xf_receptext_shagi" class="wysiwygeditor" rel="essential"></textarea>

<h4>Когда в первом списке есть текст запретить повторное добавление</h4>
<textarea name="xfield[receptext_shagi]" id="xf_receptext_shagi1" class="wysiwygeditor" rel="essential">
<ol>
<li>Я заполнен, уйди скрипт.</li>
<li></li>
</ol>
</textarea>


Ответы (1 шт):

Автор решения: Denis640Kb

Можно сделать таким образом(проверяется именно первое заполненное поле li):

    var main= document.getElementById("xf_receptext_shagi", "xf_receptext_shagi1");
    var str = '<ol><li></li><li></li></ol>';
    main.innerHTML = str + main.innerHTML;

    // Добавляем нумерованный список в текстовое поле
    var main= document.getElementById("xf_receptext_shagi1");
    var elem = main.value.replace(/<\/?[a-z][^>]*(>|$)/gi, "");
    var elem1 = elem.split('\n');
    if (!elem1[1]){
        var str = '<ol><li></li><li></li></ol>';
        main.innerHTML = str + main.innerHTML;
    }
    textarea {
        height:100px;
        width:500px;
        border:1px solid red;
    }
<h4>Когда пустое поле, добавляем список</h4>
<textarea name="xfield[receptext_shagi]" id="xf_receptext_shagi" class="wysiwygeditor" rel="essential"></textarea>

<h4>Когда в первом списке есть текст запретить повторное добавление</h4>
<textarea name="xfield[receptext_shagi]" id="xf_receptext_shagi1" class="wysiwygeditor" rel="essential">
<ol>
<li>Я заполнен, уйди скрипт.</li>
<li></li>
</ol>
</textarea>

Если надо для первого списка тоже самое - то просто туда подставить такие же параметры как во втором(от elem и ниже)

→ Ссылка