Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работают ссылки. 
:(
    Опции темы
Just123
Дата 16.12.2010, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 9.12.2007
Где: localhost

Репутация: нет
Всего: нет



Здравствуйте, никогда раньше с JS не сталкивался, а тут возникла необходимость немного переделать существующий скрипт.

Данные загружаются с помощью JSON и должны обрабатываться как есть т.е. HTML код, должен нормально обработать в браузере.

В коде была функция:

Код

function dehtml(str)
{
    return str.replace(/&quot;/g,'"').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&');
}


Я её удалил и некоторые HTML теги стали нормально обрабатываться, кроме самой нужно <a href=""> </a>.
Ошибочка, удаление ни к чему не привело, тег <b></b> нормально обрабатывается и без удаления это функции.
Подозреваю, что проблема где-то тут:

Код

function prepareTaskStr(item, noteExp)
{
    var id = parseInt(item.id);
    var prio = parseInt(item.prio);
    var readOnly = (flag.needAuth && !flag.isLogged) ? true : false;
    return '<li id="taskrow_'+id+'" class="'+(item.compl?'task-completed ':'')+item.dueClass+(item.note!=''?' task-has-note':'')+
        (noteExp?' task-expanded':'')+'" onDblClick="editTask('+id+')">'+
        '<div class="task-actions"><a href="#" class="taskactionbtn" onClick="return taskContextMenu(this,'+id+')"></a></div>'+
        '<div class="task-left"><div class="task-toggle" onClick="toggleNote('+id+')"></div>'+
        '<input type="checkbox" '+(readOnly?'disabled':'')+' onClick="completeTask('+id+',this)" '+(item.compl?'checked':'')+'></div>'+
        '<div class="task-middle">'+prepareDuedate(item.duedate, item.dueClass, item.dueStr)+
        '<div class="task-through">'+preparePrio(prio,id)+'<span class="task-title">'+item.title+'</span> '+
        prepareTagsStr(item.tags)+'<span class="task-date">'+item.dateInline+'</span></div>'+
        '<div class="task-note-block">'+
            '<div id="tasknote'+id+'" class="task-note"><span>'+(item.note)+'</span></div>'+
            '<div id="tasknotearea'+id+'" class="task-note-area"><textarea id="notetext'+id+'"></textarea>'+
                '<span class="task-note-actions"><a href="#" onClick="return saveTaskNote('+id+')">'+lang.actionNoteSave+
                '</a> | <a href="#" onClick="return cancelTaskNote('+id+')">'+lang.actionNoteCancel+'</a></span></div>'+
        '</div>'+
        "</div></li>\n";
}



item.title = текст  который требуется обработать с HTML тегами.

Но где именно, понять не могу, не хватает знаний.
Подскажите пожалуйста, в чем проблема? Или хотя бы в сторону чего следует копать.
Заранее большое спасибо за помощь.

Это сообщение отредактировал(а) Just123 - 16.12.2010, 07:25
PM MAIL   Вверх
Just123
Дата 16.12.2010, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 9.12.2007
Где: localhost

Репутация: нет
Всего: нет



На всякий случай, прилагаю весь код скрипта.
http://narod.ru/disk/1502383001/ajax.js.html

PM MAIL   Вверх
Just123
Дата 16.12.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 9.12.2007
Где: localhost

Репутация: нет
Всего: нет



Не ужели никто не знает? Помоги пожалуйста, очень срочно нужно внести изменения. Хотя бы примерно соорентируйте, пожалуйста.
PM MAIL   Вверх
ayax2005
Дата 16.12.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Выложите обработанный кусок html с ошибками и тот json что был на входе.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
Just123
Дата 16.12.2010, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 9.12.2007
Где: localhost

Репутация: нет
Всего: нет



ayax2005, Спасибо, что откликнулись! HTML кода не вижу, в коде страницы его нет. 

В этом куске кода выводиться текст, где тег <a> не обрабатывается :
Код

<div id="taskcontainer">
 <ol id="tasklist" class="sortable"></ol>
</div>



Так же на странице присутствует следующий код:

Код

<script type="text/javascript">
$().ready(function(){
    mytinytodo.mttUrl = "/dev/todo/";
    $("#tasklist").sortable({cancel:'span,input,a,textarea', delay: 150, update:orderChanged, start:sortStart, items:'> :not(.task-completed)'});
    $("#tasklist").bind("click", tasklistClick);
    $("#edittags").autocomplete('ajax.php?suggestTags', {scroll: false, multiple: true, selectFirst:false, max:8, extraParams:{list:function(){return curList.id}}});
    $("#priopopup").mouseleave(function(){$(this).hide()});
    flag.autoTag = true;
    loadLists(1, 1);
    $("#duedate").datepicker({dateFormat: 'yy-mm-dd', firstDay: 1,
        showOn: 'button', buttonImage: '/dev/todo/themes/default/images/calendar.png', buttonImageOnly: true, changeMonth:true,
        changeYear:true, constrainInput: false, duration:'', nextText:'&gt;', prevText:'&lt;', dayNamesMin:lang.daysMin, 
        dayNames:lang.daysLong, monthNamesShort:lang.monthsLong });
    $("#page_taskedit").draggable({ handle:'h3', stop: function(e,ui){ flag.windowTaskEditMoved=true; tmp.editformpos=[$(this).css('left'),$(this).css('top')]; } }); 
    $("#page_taskedit").resizable({ minWidth:$("#page_taskedit").width(), minHeight:220, start:function(ui,e){editFormResize(1)}, resize:function(ui,e){editFormResize(0,e)}, stop:function(ui,e){editFormResize(2,e)} });
    $("#lists ul").sortable({delay:150, update:listOrderChanged});
});
</script>



А конкретный скрипт, который требуется доработать, это http://www.mytinytodo.net/ .
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.