Как запретить повторное добавление нумерованного списка если в теге есть текст?
Нужна ваша помощь, сам не справлюсь без вас! Есть скрипт, который добавляет тег 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 и ниже)