Re[3]: Заполнение многострочными даными контролов из скрипта
От: dimzon Россия http://dimzon541.narod.ru
Дата: 30.06.03 16:40
Оценка: 3 (1)
Здравствуйте, _man, Вы писали:

_>Здравствуйте, dimzon, Вы писали:


D>Ну вариант первый — генерируешь на asp клиентский скрипт.


_>Однозначно не подходит — строка получается порванная:


_>
_>arrMyData(0,0)="1 строка
_>2 строка
_>3 строка"
_>


А закодировать не можешь что-ли?
Если у тебя клиентский VBS используй такую функцию:
'---------------------------------------------------------------
' ПЕРЕКОДИРУЕТ ВХОДНУЮ СТРОКУ ДЛЯ ПОДСТАНОВКИ ВЫРАЖЕНИЯ  VBS
' [in]  sIn - входная строчка
function VBEncode(sIn)
    dim sOut    'результат
    sOut= sIn
    sOut = Replace(sOut, """", """""")
    sOut = Replace(sOut, vbNewLine , """&vbNewLine&""")
    sOut = Replace(sOut, vbLf , """&vbLf&""")
    sOut = Replace(sOut, vbCr , """&vbCr&""")
    VBEncode = sOut
end function


такой код
dim arrMyData(<%=nRecordCount%>,1)
<%while not objADODBRS.EOF %>
arrMyData(0,0)="<%=VBEncode(objADODBRS.Fields("a"))%>" 
arrMyData(0,1)="<%=VBEncode(objADODBRS.Fields("b"))%>" 
<%
objADODBRS.MoveNext
wend%>
....


Если клиентский код JavaScript напиши аналог VBEncode сам

Достаточно разжевал?
... << RSDN@Home 1.0 beta 7a >>
Заполнение многострочными даными контролов из скрипта
От: _man Украина  
Дата: 30.06.03 10:35
Оценка:
Как реализовать сабж если данные берутся из базы данных через asp(php) и нужно передать не напрямую в контрол а через jscript?
MAN
Re: Заполнение многострочными даными контролов из скрипта
От: dimzon Россия http://dimzon541.narod.ru
Дата: 30.06.03 15:55
Оценка:
Здравствуйте, _man, Вы писали:

_>Как реализовать сабж если данные берутся из базы данных через asp(php) и нужно передать не напрямую в контрол а через jscript?


Ну вариант первый — генерируешь на asp клиентский скрипт.
Например такого вида:
dim arrMyData(<%=nRecordCount%>,1)
<%while not objADODBRS.EOF %>
arrMyData(0,0)="<%=objADODBRS.Fields("a")%>" 
arrMyData(0,1)="<%=objADODBRS.Fields("b")%>" 
<%
objADODBRS.MoveNext
wend%>
....

И работаешь с ним на клиенте как хочешь.


Вариант второй — генеришь на сервере XML а с клиента его читаешь используя скажем MSXML2.DOMDocument. Идеология аналогичная Web-сервисам
... << RSDN@Home 1.0 beta 7a >>
Re[2]: Заполнение многострочными даными контролов из скрипта
От: _man Украина  
Дата: 30.06.03 16:33
Оценка:
Здравствуйте, dimzon, Вы писали:

D>Ну вариант первый — генерируешь на asp клиентский скрипт.


Однозначно не подходит — строка получается порванная:

arrMyData(0,0)="1 строка
2 строка
3 строка"

D>Вариант второй — генеришь на сервере XML а с клиента его читаешь используя скажем MSXML2.DOMDocument. Идеология аналогичная Web-сервисам
Тоже не то.
MAN
Re[4]: Заполнение многострочными даными контролов из скрипта
От: _man Украина  
Дата: 30.06.03 16:56
Оценка:
D>А закодировать не можешь что-ли?
А вот это уже ответ. Через ж.. получится, но будет работать.

Может ещё варианты есть? Я тут походу сообразил что можно и скрытые контролы использовать но первый вариант побыстрее будет.
Вообще идея была для использования фреймовых структур не хотелось перерисовывать главное окно.
MAN
Re[5]: Заполнение многострочными даными контролов из скрипта
От: uzzy Россия  
Дата: 01.07.03 02:59
Оценка:
Здравствуйте, _man, Вы писали:

идея:

представляешь многострочную посылку примерно так:

<table id="specpost"><tr>
<td id="__sp_1">sdhskldjf </td>
<td id="__sp_2">sdhskldjf </td>
...
<td id="__sp_N">sdhskldjf </td>
</tr></table>


далее примерно так в js:

str = "";
counter = 1;
obj=document.all["__sp_1"];
while (obj != null)
{
   str += obj.innerText + "\n";
   counter++;
   objID = "__sp_" + counter;
   obj=document.all[objID];
}
alert (str);
Re[6]: Заполнение многострочными даными контролов из скрипта
От: dimzon Россия http://dimzon541.narod.ru
Дата: 01.07.03 08:15
Оценка:
Здравствуйте, uzzy, Вы писали:

U>Здравствуйте, _man, Вы писали:


U>идея:


U>представляешь многострочную посылку примерно так:


U>
U><table id="specpost"><tr>
U><td id="__sp_1">sdhskldjf </td>
U><td id="__sp_2">sdhskldjf </td>
U>...
U><td id="__sp_N">sdhskldjf </td>
</tr></table>
U>


U>далее примерно так в js:


U>
U>str = "";
U>counter = 1;
U>obj=document.all["__sp_1"];
U>while (obj != null)
U>{
U>   str += obj.innerText + "\n";
U>   counter++;
U>   objID = "__sp_" + counter;
U>   obj=document.all[objID];
U>}
U>alert (str);
U>

Это работать будет, но только под IE
... << RSDN@Home 1.0 beta 7a >>
Re[5]: Заполнение многострочными даными контролов из скрипта
От: dimzon Россия http://dimzon541.narod.ru
Дата: 01.07.03 08:15
Оценка:
Здравствуйте, _man, Вы писали:

_>Вообще идея была для использования фреймовых структур не хотелось перерисовывать главное окно.


Нормально все получится Я тут код буду писать на VBScript (проще мне так), если что переведешь

Итак делаем фрейм в котором генерируешь такой код

<SCRIPT LANGUAGE=VBSCript>
SUB MyProc
    Dim arrData
    Redim arrData(1024,2)
    arrData(0,0)=...
    ....
    parent.<Имя главного фрейма, в который передаешь данные>.ObtainData(arrData)
END SUB
</SCRIPT>
<BODY OnLoad="MyProc()">
Типа пустая страница
</BODY>


А в главном фрейме объявляешь функцию

Sub ObtainData(arrDataFromServer)
    ' Делаю что-то с данными
End Sub
... << RSDN@Home 1.0 beta 7a >>
Re[7]: Заполнение многострочными даными контролов из скрипта
От: andik  
Дата: 01.07.03 08:38
Оценка:
Здравствуйте, dimzon, Вы писали:

U>
U><table id="specpost"><tr>
U><td id="__sp_1">sdhskldjf </td>
U><td id="__sp_2">sdhskldjf </td>
U>...
U><td id="__sp_N">sdhskldjf </td>
</tr></table>
U>


U>далее примерно так в js:


U>
U>str = "";
U>counter = 1;
U>obj=document.all["__sp_1"];
U>while (obj != null)
U>{
U>   str += obj.innerText + "\n";
U>   counter++;
U>   objID = "__sp_" + counter;
U>   obj=document.all[objID];
U>}
U>alert (str);
U>

D>Это работать будет, но только под IE

если подправить document.all на document.getElementById(), тогда Opera6.0, Netscape6.0 и выше
... << RSDN@Home 1.0 beta 7a >>
Re[8]: Заполнение многострочными даными контролов из скрипта
От: dimzon Россия http://dimzon541.narod.ru
Дата: 01.07.03 08:41
Оценка:
Здравствуйте, andik, Вы писали:

A>Здравствуйте, dimzon, Вы писали:


U>
U><table id="specpost"><tr>
U><td id="__sp_1">sdhskldjf </td>
U><td id="__sp_2">sdhskldjf </td>
U>...
U><td id="__sp_N">sdhskldjf </td>
</tr></table>
U>


U>далее примерно так в js:


U>
U>str = "";
U>counter = 1;
U>obj=document.all["__sp_1"];
U>while (obj != null)
U>{
U>   str += obj.innerText + "\n";
U>   counter++;
U>   objID = "__sp_" + counter;
U>   obj=document.all[objID];
U>}
U>alert (str);
U>

D>Это работать будет, но только под IE

A>если подправить document.all на document.getElementById(), тогда Opera6.0, Netscape6.0 и выше

Тогда не будет в IE4
... << RSDN@Home 1.0 beta 7a >>
Re[9]: Заполнение многострочными даными контролов из скрипта
От: andik  
Дата: 01.07.03 08:59
Оценка:
D>Это работать будет, но только под IE

A>если подправить document.all на document.getElementById(), тогда Opera6.0, Netscape6.0 и выше

D>Тогда не будет в IE4

А под Netscape4 вообще не будет
Не будем спорить, нам требования к броузерам неизвестно
... << RSDN@Home 1.0 beta 7a >>
Re[10]: Заполнение многострочными даными контролов из скрипт
От: dimzon Россия http://dimzon541.narod.ru
Дата: 01.07.03 09:16
Оценка:
Здравствуйте, andik, Вы писали:


D>Это работать будет, но только под IE


A>если подправить document.all на document.getElementById(), тогда Opera6.0, Netscape6.0 и выше

D>Тогда не будет в IE4

A>А под Netscape4 вообще не будет

A>Не будем спорить, нам требования к броузерам неизвестно
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.