Комментарии при редактировании сообщения. rps
Код:
<script type="text/javascript"> var mr = document.getElementById("main-reply"); var inp; var i = 0; var edit; var f; var reg = new RegExp("\\[edit\\](.[^\\[]+)\\[/edit\\]"); function make_field() { var field = document.createElement("input"); field.id = "field_edit"; field.type = "text"; field.size = "80"; field.style.marginTop = "15px"; mr.parentNode.appendChild(field); } function make_text() { var mrv_new; var fv; var mrv; fv = f.value; mrv = mr.value; if (mrv.indexOf("[edit]") == -1) { if (fv != "") mr.value += "\n[edit]" + fv + "[/edit]"; else {} } else { if (fv != "") mrv_new = mrv.replace(reg, "[edit]" + fv + "[/edit]"); else mrv_new = mrv.replace(reg, ""); mr.value = mrv_new; } } function check(x) { if (x.checked == false) f.disabled = false; if (x.checked == true) { f.disabled = true; f.value = ""; mr.value = mr.value.replace(reg, ""); f.setAttribute("placeholder", "Укажите причину редактирования"); } } function make_description() { var post; var j = 0; var p; var z = 0; post = document.getElementById("pun-main").getElementsByTagName("div"); for (j in post) { if (post[j].className == "post-content") { p = post[j].getElementsByTagName("p"); for (z in p) { if ((p[z].className == "lastedit") && (reg.test(post[j].innerHTML))) { edit = post[j].innerHTML.match(reg)[0]; edit = edit.substr(edit.indexOf("[edit]") + 6, edit.indexOf("[/edit]") - 6); p[z].innerHTML += "<span class='edit_text'>, причина: " + edit + ".</span>"; post[j].innerHTML = post[j].innerHTML.replace(reg, ""); } else {} } } } } if (document.URL.indexOf("edit.php") != -1) { make_field(); f = document.getElementById("field_edit"); if (reg.test(mr.value)) { edit = mr.value.match(reg)[0]; edit = edit.substr(edit.indexOf("[edit]") + 6, edit.indexOf("[/edit]") - 6); f.value = edit; } else f.setAttribute("placeholder", "Укажите причину редактирования"); inp = document.getElementById("pun-main").getElementsByTagName("input"); for (i in inp) { if (inp[i].value == "Отправить") inp[i].setAttribute("onclick", "make_text();"); else if (inp[i].type == "checkbox") { inp[i].checked = false; inp[i].setAttribute("onclick", "check(this);"); } } } if (document.URL.indexOf("viewtopic.php") != -1) make_description(); </script>
Ставим в HTML-низ
На странице сообщений это выглядит так:
Если выбрать пункт "Не отображать сообщение о редактировании", поле окажется неактивным:
Теги: скрипт, причина, сообщение