Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.09.2010, 22:05
Кандидат Javascript-наук
Отправить личное сообщение для Invis1ble Посмотреть профиль Найти все сообщения от Invis1ble
 
Регистрация: 05.09.2010
Сообщений: 103

IE ругается, объясните причину
Привет всем!!! Есть такой js-скрипт (я в js новичок, поэтому ногами не бейте):
function ResetEdit()
{
  editForm.empty();
  editableBlock.slideUp(600);

  addCommentForm.load('?page=comment-add' , {}, function()
  {
    jQuery('input#comment-add').click(function()
    {
      RefreshCommentAddForm();
    })
  })

  formHeader.text('ДОБАВЛЕНИЕ КОММЕНТАРИЯ');
}

function RefreshCommentAddForm()
{
  var comment = jQuery('textarea:last').val();

  addCommentForm.load('?page=comment-add&tid=' + tid + '&offset=' + offset, {comment: comment}, function()
  {
    var location = jQuery('input#redirect-location').val();

    if (location != undefined)
      window.location.reload(location);
    else
    {
      jQuery('input#comment-add').click(function()
      {
        RefreshCommentAddForm();
      })
    }
  })
}

function RefreshCommentEditForm()
{
  var edComment = jQuery('textarea#comment').val();

  editForm.load('?page=comment-edit&tid=' + tid + '&offset=' + offset + '&id=' + id, {comment: edComment}, function()
  {
    var location = jQuery('input#redirect-location').val();

    if (location != undefined)
    {
      editableBlock.slideUp(600);
      window.location.reload(location);
    }
    else
    {
      jQuery('input#comment-edit').click(function()
      {
        RefreshCommentEditForm();
      })
    }
  })
}

function RefreshTopicEditForm()
{
  editForm.load('?page=topic-edit&tid=' + tid, {topic_name: jQuery('input#topic-name').val(), topic_description: jQuery('input#topic-description').val(), topic_message: jQuery('textarea#topic-message').val()}, function()
  {
    var location = jQuery('input#redirect-location').val();
    
    if (location != undefined)
    {
      editableBlock.slideUp(600);
      window.location.reload(location);
    }
    else
    {
      jQuery('input#topic-edit').click(function()
      {
        RefreshTopicEditForm();
      })
    }
  })
}

function RefreshMessageEditForm()
{
  editForm.load('?page=topic-edit&tid=' + tid, {topic_message: jQuery('textarea#topic-message').val()}, function()
  {
    var location = jQuery('input#redirect-location').val();

    if (location != undefined)
    {
      editableBlock.slideUp(600);
      window.location.reload(location);
    }
    else
    {
      jQuery('input#topic-edit').click(function()
      {
        RefreshMessageEditForm();
      })
    }
  })
}

jQuery(document).ready(function()
{
  addCommentForm = jQuery('#add-comment-form');
  editableBlock = jQuery('#editableBlock');
  editForm = jQuery('#edit-form');
  formHeader = jQuery('#formHeader');

  tid = jQuery('input#tid').val();
  offset = jQuery('input#offset').val();

  editableBlock.hide();

  addCommentForm.load('?page=comment-add' , {}, function()
  {
    jQuery('input#comment-add').click(function()
    {
      RefreshCommentAddForm();
    })
  })

  jQuery('a.comment-edit').click(function()
  {
    var link = jQuery(this);
    id = link.attr('id');
    var block = link.parent().parent();

    editableBlock.html(
      '<div class="editHeader">редактируемый комментарий | ' +
      '<a class="ResetEdit" onclick="ResetEdit();" href="javascript: void(0);">' +
      'отменить редактирование</a></div>').append(jQuery('#comment-content', block).html());

    editForm.load('?page=comment-edit&id=' + id, {}, function()
    {
      jQuery('input#comment-edit').click(function()
      {
        RefreshCommentEditForm();
      })
    })

    formHeader.text('РЕДАКТИРОВАНИЕ КОММЕНТАРИЯ');
    addCommentForm.empty();
    editableBlock.slideDown(600);
  })

  jQuery('a.comment-delete').click(function(event)
  {
    var responce = confirm('Вы действительно хотите удалить этот комментарий?');
    if (!responce) event.preventDefault();
  })

  jQuery('a.topic-edit').click(function()
  {
    var blockHtml = jQuery('#captionTopicName').html() + '<br />' +
                    jQuery('#captionTopicDescription').html() + '<br />' +
                    jQuery('#topic-message').html();

    editableBlock.html(
      '<div class="editHeader">редактируемая тема | ' +
      '<a class="ResetEdit" onclick="ResetEdit();" href="javascript: void(0);">' +
      'отменить редактирование</a></div>').append(blockHtml);

    editForm.load('?page=topic-edit&tid=' + tid, {}, function()
    {
      jQuery('input#topic-edit').click(function()
      {
        RefreshTopicEditForm();
      })
    });

    formHeader.text('РЕДАКТИРОВАНИЕ ТЕМЫ');
    addCommentForm.empty();
    editableBlock.slideDown(600);
  })

  jQuery('a.topic-delete').click(function()
  {
    var responce = confirm('Вы действительно хотите удалить эту тему?');
    if (!responce) event.preventDefault();
  })

  jQuery('a.message-edit').click(function()
  {
    var blockHtml = jQuery('#topic-message').html();

    editableBlock.html(
      '<div class="editHeader">редактируемое сообщение | ' +
      '<a class="ResetEdit" onclick="ResetEdit();" href="javascript: void(0);">' +
      'отменить редактирование</a></div>').append(blockHtml);

    editForm.load('?page=topic-edit&tid=' + tid, {}, function()
    {
      jQuery('input#topic-edit').click(function()
      {
        RefreshMessageEditForm();
      })
    });

    formHeader.text('РЕДАКТИРОВАНИЕ СООБЩЕНИЯ');
    addCommentForm.empty();
    editableBlock.slideDown(600);
  })
})

В опере и гугл-хроме скрипт работает нормально, IE выдает "Объект не поддерживает это свойство или метод (строка 106, символ 3)". Это он ругается на
editableBlock = jQuery('#editableBlock');

Объсните плиз, причину
Ответить с цитированием
  #2 (permalink)  
Старый 18.09.2010, 22:26
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Пугающий объем.....
Ответить с цитированием
  #3 (permalink)  
Старый 18.09.2010, 22:31
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Ничего подобного... Вовсе не на эту строку... Покажите полностью вызывающий код.
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #4 (permalink)  
Старый 18.09.2010, 22:57
Кандидат Javascript-наук
Отправить личное сообщение для Invis1ble Посмотреть профиль Найти все сообщения от Invis1ble
 
Регистрация: 05.09.2010
Сообщений: 103

MadGest,
объем из-за стиля написания кода
inGray,
именно на эту. Я проверял, добавляя пустые строки в код. Что имеется ввиду под "вызывающий код" ? Если js - то я привел код полностью
Ответить с цитированием
  #5 (permalink)  
Старый 18.09.2010, 23:05
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

EditForm случайно не айдишник формы?
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #6 (permalink)  
Старый 18.09.2010, 23:07
Кандидат Javascript-наук
Отправить личное сообщение для Invis1ble Посмотреть профиль Найти все сообщения от Invis1ble
 
Регистрация: 05.09.2010
Сообщений: 103

inGray,
не, editForm - айдишник дива
comment-list.php
...
<div id="edit-form"></div>
...
Ответить с цитированием
  #7 (permalink)  
Старый 18.09.2010, 23:14
Кандидат Javascript-наук
Отправить личное сообщение для Invis1ble Посмотреть профиль Найти все сообщения от Invis1ble
 
Регистрация: 05.09.2010
Сообщений: 103

точнее не айдишник дива, а объект, получаемый по id="edit-form", т.е. div
Ответить с цитированием
  #8 (permalink)  
Старый 18.09.2010, 23:14
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Попробуйте поменять имена переменных editableBlock и editForm?
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #9 (permalink)  
Старый 18.09.2010, 23:20
Кандидат Javascript-наук
Отправить личное сообщение для Invis1ble Посмотреть профиль Найти все сообщения от Invis1ble
 
Регистрация: 05.09.2010
Сообщений: 103

inGray,
просто сменить имена на другие? А разве это может быть причиной? Ведь в других браузерах все нормально работает...
Ответить с цитированием
  #10 (permalink)  
Старый 18.09.2010, 23:22
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Да, просто сменить имена? Ругается же именно на имя переменной...
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидатор ругается на onfocus SeregaS (X)HTML/CSS 7 25.02.2010 09:55
Валидатор ругается micscr (X)HTML/CSS 4 24.11.2009 14:45
Объясните синтаксис? aesnn Общие вопросы Javascript 2 27.04.2009 00:12
Объясните пожалуйста значение символов после переменной Анатолий Общие вопросы Javascript 1 09.01.2009 03:50
decodeURI ругается Sergey K Общие вопросы Javascript 7 17.10.2008 23:50