Я вызвал функцию js в форме отправки ... все браузеры работают нормально, кроме IE6 - PullRequest
0 голосов
/ 28 февраля 2011
function createTemplate() {
   createformlayers(x, y,z);

   windowResizeRefresh() ;
}
Layers1.text(x,y,z)
{
  //some codes go here
}

function createformlayers(eid)
{
  var newdiv = document.createElement('div'); 
  newdiv.setAttribute("id",eid);
  newdiv.innerhtml ='<form action="javascript:Layers1.text('test',200,200)"></form>';
}

function windowResizeRefresh() {
  for (var n = 0; n < Layers.length; n++) {
    fid = 'form' + n;    
    document.getElementById(fid).submit();
  }
}

<body onload="createTemplate()">

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

Doh! Только что понял, что вы используете атрибут действия, который в IE6 может быть ограничен чем-то вроде 512 символов (включая «javascript:») !!!

Почему бы тебе не вставить все это в функцию? И есть action="javascript:doAction(); void 0" или что-то?

0 голосов
/ 28 февраля 2011

Вы можете настроить IE так, чтобы он отображал предупреждение при возникновении ошибки.Это предупреждение может дать вам подсказку о том, что терпит неудачу.В диалоговом окне также есть предыдущая кнопка, которая полезна, если имеется несколько ошибок, предыдущие, как правило, должны быть решены первыми.

Если на той же машине установлен Microsoft Office.Вы можете добавлять / удалять общие / разные инструменты в настройках Office (в разделе «Установка и удаление программ») для «Отладки скриптов».Это лучший отладчик, который вы можете получить для IE6.(Если у вас уже нет MS Visual Studio, я думаю, что это идентично, но у меня нет Visual Studio, поэтому я не уверен, как это сделать).

С помощью этого отладчика сценариев вы можете открыть отладчик и установить точки останова, пошагово выполнить свой код и проверить, что происходит.Вы также можете запустить отладчик напрямую из ошибки JavaScript и проверить переменные / DOM / стек вызовов и т. Д.

...