Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Циклом пробежаться по <label>' ам ? / 15 сообщений из 15, страница 1 из 1
31.01.2005, 08:43
    #32891557
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
Доброе Утро!
Необходимо в javascript просмотреть все дескрипторы <label>.
Как это осуществить?
Спасибо.
...
Рейтинг: 0 / 0
31.01.2005, 09:47
    #32891643
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
collObjects = object.getElementsByTagName(sTagName);
и вперед циклом по полученному массиву.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
31.01.2005, 10:09
    #32891699
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
Спасибо!
Маленькое дополнение: я использовал
document.getElementsByTagName("LABEL");
...
Рейтинг: 0 / 0
31.01.2005, 10:30
    #32891753
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
А как обратно у <label>'a в массиве collObjects изменить свойство innerText ?
...
Рейтинг: 0 / 0
31.01.2005, 10:38
    #32891768
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
у элемента массива это свойство и меняйте
collObjects .innerText="...";
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
31.01.2005, 11:18
    #32891845
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
collObjects .innerText="...";

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
31.01.2005, 11:21
    #32891852
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
почему то квадратные скобки не запостились после collObjects
Код: plaintext
1.
collObjects[k].innerText="...";
...
Рейтинг: 0 / 0
31.01.2005, 13:44
    #32892344
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
В продолжение темы вопрос:
На моей странице при загрузке собирается таблица с полями (<label>) с каждой ячейке.
Через нескколько секунд некоторые из них необходимо обновить, т.к. не желательно обновление всей страницы, то я использую WebService с его поведением OnResult.
<script>
var intCallID = 0;
var i=0;
var collObjects;

function Init()
{
GetNewFeatured();
setInterval( "GetNewFeatured()", 5000 )
}


function GetNewFeatured()
{
collObjects = document.getElementsByTagName("LABEL");
Service.useService("Service1.asmx?WSDL","MyService");
i=0;
for (;i < collObjects.length; i++)
{
intCallID = Service.MyService.callService( "GetSqlValue", "TC2_SYS_TOkr"); // мой метод. Получает строку, отдает вещественное число
}
}

function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
collObjects .innerText = event.result.value; // в это строке возникает ошибка: 'collObjects [...]' is null or not an object
}
}
</script>

<body onload="Init()">
<form ...>
<div id="Service" style="BEHAVIOR: url(webservice.htc)" onresult="Service_Result()"></div>
....
</form>
Как можно в цикле на основе метода Веб Службы полям присвоить значения?
</body>
...
Рейтинг: 0 / 0
31.01.2005, 17:26
    #32893067
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
А почему вы в Service_Result значение пытаетесь обновить, а не сразу после
intCallID = ...
типа
collObjects[_i].innerText=intCallID;
?
В Service_Result непонятно по какому индексу вы обращаетесь к объекту. Т.е. при обращении collObjects[_i] - будет undefined, потому что непонятно откуда в этом коде придет значение _i
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
01.02.2005, 09:54
    #32893782
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
2 Роман Дынник
Извините за ошибку (оказывается квадратные скобки не прошли). Правильно с точки зрения синтаксиса будет так:
function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
collObjects(i).innerText = event.result.value; // в это строке возникает ошибка: 'collObjects [...]' is null or not an object
}

Код: plaintext
1.
2.
3.
4.
А почему вы в Service_Result значение пытаетесь обновить, а не сразу после
intCallID = ...
типа
collObjects[_i].innerText=intCallID;
?
Я бы с радостью, но результат возвращается только ч/з строку:
Код: plaintext
<div id="Service" style="BEHAVIOR: url(webservice.htc)" onresult="Service_Result()"></div>
А intCallID содержит похоже порядковый номер вызова метода сервиса.

Попробовал изменить на:
function GetNewFeatured()
{
collObjects = document.getElementsByTagName("LABEL");
Service.useService("Service1.asmx?WSDL","MyService");
for (i=0;i < collObjects.length; i++)
{
ob = collObjects(i);
intCallID = Service.MyService.callService( "GetSqlValue", ob.id);
}
}


function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
divFeatured.innerText = event.result.value;
ob.innerText = event.result.value;
}
Но в <div> значения пробегают, но изменяется значение только последнего <label>'а.
...
Рейтинг: 0 / 0
01.02.2005, 10:15
    #32893845
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
А сервис нельзя никак переписать, чтобы он возвращал id+значение типа: "5_значение"
тогда можно разделить эту строку и использовать 5 как индекс в массиве collObjects и соответствующее значение.
Понимаете,
в следующем коде необходимо знать индекс элемента у которого должен поменяться текст, т.е. должно быть:
Код: plaintext
1.
2.
3.
4.
5.
6.
function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
divFeatured.innerText = event.result.value;
ob[k].innerText = event.result.value;
}
k - индекс необходимо как то хранить в глобальной переменной, можно индекс хранить как порядковый номер вызова, т.е. в intCallID, но эта переменная должна быть глобальной, т.е. определена вне функций как var intCallID;
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
01.02.2005, 10:20
    #32893864
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
извните, не внимателен. В вашем варианте переменная ob должна быть глобальной.
Код: plaintext
1.
2.
3.
4.
5.
var ob;//......................function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
divFeatured.innerText = event.result.value;
ob.innerText = event.result.value;
}
либо так
Код: plaintext
1.
2.
3.
4.
5.
var k;//......................function Service_Result()
{
collObjects = document.getElementsByTagName("LABEL");
divFeatured.innerText = event.result.value;
collObjects[k].innerText = event.result.value;
}

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
01.02.2005, 12:18
    #32894262
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
Да, уже пробовал эти 2 способа, но всё равно не выходит.
В divFeatured.innerText = event.result.value;
всё просто замечательно.
А лейблы не хотят менятся.

Добавив одну строчку
function GetNewFeatured()
{
collObjects = document.getElementsByTagName("LABEL");
Service.useService("Service1.asmx?WSDL","MyService");
for (i=0;i < collObjects.length;i++ )
{
window.alert(i); // вот эту
ob = collObjects(i);
intCallID = Service.MyService.callService( "GetSqlValue", ob.id);
}
}

В этом случае лейблы меняются, но стоит убрать эту строку, как лейблы снова "заморожены". Такое чувство, что вычисление происходит в несколько потоков. Видимо это связано с тем, что JS неполноценный язык, а всего лишь скрипт.
...
Рейтинг: 0 / 0
01.02.2005, 13:35
    #32894522
nostra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
В связи с этим возникает вопрос, можно ли остановить исполнение кода на некоторое время?
...
Рейтинг: 0 / 0
01.02.2005, 13:48
    #32894574
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Циклом пробежаться по <label>' ам ?
Приостановить можно извратившись ч/з setTimeout
Может лучше попробовать для каждого лейбла свой экземпляр доступа к webservice создать?

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Циклом пробежаться по <label>' ам ? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]