|
|
Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии JavaScript Что нужно удалить в скрипте? (JS) |
Что нужно удалить в скрипте? |
Всем привет. Нашел скрипт мгновенного сообщения на форум
Код <?if$PAGE_ID$='threadpage' or $PAGE_ID$='addthread' or $PAGE_ID$='addpoll'?><script type="text/javascript">function haveFiles(){var f = false;$("input.uplFileFl").each(function(){if ($(this).val()) f=true;});return f}document.addform.onsubmit = function(){var namewnd = "w" + Math.floor(Math.random()*999); _uWnd.alert('<img src="/.s/img/wd/3/ajax.gif" border="0" alt="Загрузка">','Загрузка',{name: namewnd, w: 250, h: 80, tm: 0}); $("#frF16").attr("disabled", true); if (haveFiles()) {_uPostForm($("form[name='addform']"), {success: function(dt){ parseResult(dt, namewnd);}})} else {$.post("/forum", $("form[name='addform']").serialize(), function(dt) {parseResult(dt, namewnd)})};return false;};function parseResult(dt, namewnd){var err = $("#frM2", dt).text(), thmurl = $("a:first", dt).attr("href"); if (err) {_uWnd.content(namewnd, '<center>'+err+'</center>'); _uWnd.setTitle(namewnd, 'Ошибка'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000);} else if ($(dt).text().indexOf("Ответ добавлен") > -1) { $("textarea#message").val(""); $("form [name='addform']input:file").val(""); _uWnd.content(namewnd, '<center>Добавлено</center>'); _uWnd.setTitle(namewnd, 'Успех'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); setTimeout(function(){ <?if $PAGE_ID$='threadpage'?>$(".gDivRight:first").load(thmurl + "?" + Math.floor(Math.random()*9999) + " .gDivRight:first"); setPnt(thmurl);<?endif?><?if $PAGE_ID$='addthread' or $PAGE_ID$='addpoll'?>setPnt($("td.forumNamesBar:first a.forumBarA:last", dt).attr("href"), true);<?endif?>}, 50);} else { _uWnd.content(namewnd, 'Во время отправки произошла обишка'); _uWnd.setTitle(namewnd, 'Не удалось'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); }};</script><?endif?> Спасибо |
|
Отключите визуальный редактор и все будет работать как задумано. Но вообще надо будет посмотреть, так как это популярный скрипт становится в последнее время, а проблема у всех одна и так же)
Сообщение отредактировал Solaris(Olga) - Пятница, 29 Ноя 2013, 19:47:56
|
Все получилось, а как-то обойти эту штуку можно? Чтоб с формой визуального редактирования можно было один раз нажать и отправить?
|
SOCHI1014, как вариант (самый простой и даже примитивный), можно отлавливать всплывающее окно с ошибкой и при его появлении:
- закрывать это окно - повторно нажимать на кнопку Подойдет вам такой вариант?) Сообщение отредактировал Solaris(Olga) - Пятница, 29 Ноя 2013, 20:13:39
|
SOCHI1014, как вариант (самый простой и даже примитивный), можно отлавливать всплывающее окно с ошибкой и при его появлении: - закрывать это окно - повторно нажимать на кнопку Подойдет вам такой вариант?) |
SOCHI1014, автоматически. Полная иллюзия одного нажатия. Но лишь иллюзия...
|
Буду благодарен вам если подскажете решение данного вопроса.
Сообщение отредактировал SOCHI1014 - Пятница, 29 Ноя 2013, 21:59:34
|
SOCHI1014, вот:
Код <?if$PAGE_ID$='threadpage' or $PAGE_ID$='addthread' or $PAGE_ID$='addpoll'?> <script type="text/javascript"> function haveFiles(){ var f = false; $("input.uplFileFl").each(function(){ if ($(this).val()) f=true;};); return f}document.addform.onsubmit = function(){ var namewnd = "w" + Math.floor(Math.random()*999); _uWnd.alert('<img src="/.s/img/wd/3/ajax.gif" border="0" alt="Загрузка">','Загрузка',{name: namewnd, w: 250, h: 80, tm: 0};); $("#frF16").attr("disabled", true); if (haveFiles()) {_uPostForm($("form[name='addform']"), {success: function(dt){ parseResult(dt, namewnd); }};)} else { $.post("/forum", $("form[name='addform']").serialize(), function(dt) {parseResult(dt, namewnd)};)};return false;}; function parseResult(dt, namewnd){var err = $("#frM2", dt).text(), thmurl = $("a:first", dt).attr("href"); if (err) {_uWnd.content(namewnd, '<center>'+err+'</center>'); _uWnd.setTitle(namewnd, 'Ошибка'); $("#frF16").attr("disabled", false); setTimeout(function(){_uWnd.close(namewnd) },0); document.getElementById('frF16').click(); } else if ($(dt).text().indexOf("Ответ добавлен") > -1) { $("textarea#message").val(""); $("form [name='addform']input:file").val(""); _uWnd.content(namewnd, '<center>Добавлено</center>'); _uWnd.setTitle(namewnd, 'Успех'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); setTimeout(function(){ <?if $PAGE_ID$='threadpage'?>$(".gDivRight:first").load(thmurl + "?" + Math.floor(Math.random()*9999) + " .gDivRight:first"); setPnt(thmurl); <?endif?> <?if $PAGE_ID$='addthread' or $PAGE_ID$='addpoll'?>setPnt($("td.forumNamesBar:first a.forumBarA:last", dt).attr("href"), true);<?endif?>}, 50); } else { _uWnd.content(namewnd, 'Во время отправки произошла обишка'); _uWnd.setTitle(namewnd, 'Не удалось'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); }}; </script><?endif?> Работает в визуальном. Там на миг появляется окошко с ошибкой и тут же скрывается. Его можно, конечно, скрывать так, чтобы оно вообще не появлялось, но у меня с ходу не получилось и я решила не мучиться с ним)) Главное, что корректно все добавляется с одного нажатия. Подумаю потом и уберу окошко, чуть попозже.. Сообщение отредактировал Solaris(Olga) - Пятница, 29 Ноя 2013, 22:24:29
|
Работает в визуальном. Там на миг появляется окошко с ошибкой и тут же скрывается. Его можно, конечно, скрывать так, чтобы оно вообще не появлялось, но у меня с ходу не получилось и я решила не мучиться с ним)) Главное, что корректно все добавляется с одного нажатия. Подумаю потом и уберу окошко, чуть попозже.. Или так <div class="err" style="display:none;"></div> |
Должно скрыть)) Попробуйте... только я не нашла блок, который выводит это окно. Там нужно через js скорее.
Сообщение отредактировал Solaris(Olga) - Пятница, 29 Ноя 2013, 22:37:35
|
|
| |||
| |||