Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > из явы во флаш


Автор: Gannibal 8.3.2005, 22:43
короче задачка такова.. например есть комбобокс в котором три марки автомобиля например Опель, БМВ, Мерс, при выборе однои из ни нам посылаеться информация во флаш что мы выбрали во флаше из баззы данных берётся то что мы выбрали и например пишется цена как ето реализовать помогите плз

Автор: Zorro 9.3.2005, 17:29
Вот функция JS, которая устанавливает определённой переменной во флэше какое-либо значение:
Код

флэш.SetVariable("переменная", "значение");

Где:
флэш - путь к флэш объекту на странице
переменная - имя переменной во флэше
значение - устанавливаемое значение

Автор: Gannibal 10.3.2005, 17:19
Цитата
3начение - устанавливаемое значение


вот это значение устанвливается в ту переменную во флаш?

ладно послать я послал а вот как теперь из флаш послать на сервер запрос по етому значению перемменной чтобы мне вернула ответ из СКВЛ базы допустим и всё это вернула техтбокс

Автор: Gannibal 11.3.2005, 16:39
ну так подругому .. как мне из флаш записать значение в хтмл инпутбокс...?

Автор: Zorro 11.3.2005, 20:07
Ну например вот так. Во флэше:
Код

getURL("javascript:setInput('Значение')");

Т.е. вызываем функцию JS, которая и будет устанавливать значение. В JS:
Код

function setInput(val)
{
input.value = val;
}

Где input - путь к полю ввода
smile

Автор: Gannibal 13.3.2005, 23:24
а вот если бы я хотел отослать из флаша несколько переменных со значениями как ме поступить вот например через гетурл я отсылаю перенной одно значение а мне больше надо smile

и вот ешё через гетурл отсылаю значение а как мне отослат переменную с определёным значением?

Автор: Zorro 14.3.2005, 18:24
Цитата
и вот ешё через гетурл отсылаю значение а как мне отослат переменную с определёным значением?

Чуть больше фантазии smile Флэш:
Код

getURL("javascript:setInput('имя', 'значение')");

JS:
Код

function setVal(varName, val)
{
//тут обрататываем данные
}

Т.е. просто передаёшь JS функции отдельно имя и отдельно значение переменной. Больше никак.

Цитата
а вот если бы я хотел отослать из флаша несколько переменных со значениями как ме поступить вот например через гетурл я отсылаю перенной одно значение а мне больше надо

Создай JS функцию, которая в зависимости от разных параметров будет делать разные действия smile

Автор: Gannibal 14.3.2005, 22:56
а мне вот именно надо чтобы во флаш отсылалось я хочу с этим розобраться как работает.. у меня есть насчёт этого крупные идеи smile


Автор: Gannibal 17.3.2005, 17:44
вот такои ешё вопрос, вот я отправил фо флаш две переменные с двумя значениями сравнил их и отправил на страницу в инпутбокс текст а проблема у меня такова что этот текст туда посылается постоянно так что получается цикл который незаканчивается и инпутбокс постоянно обновляется

Автор: Zorro 17.3.2005, 20:44
Можно поставить проверку. Т.е. после отправки какой либо флаг (переменная типа boolean) ставишь false, и выполнять отправку только если флаг true smile

Автор: Gannibal 18.3.2005, 00:30
да я уже решил эту проблему... таким способом что на первый кадр поставил если какое либо значение непустое то будет ответ и переходит на второи кадр если нет то мувик останавливается.. а из явы посылал код для проигрывания с этим долго мучался как проиграть мувик если он остановлен вот так вот получилось целиком

Код

<script language="JavaScript" type="text/javascript">
function zJSdoFlash(){
divtest.Play(); //stroka dlya zapuska flash muvika
divtest.SetVariable("flashvar", document.forms["variable4flash"].var1send.value); //posylanie peremenych v var1
divtest.SetVariable("flashvar2", document.forms["variable4flash"].var2send.value); // posylanie peremennyh v var2
}

function setInput(flashvar, val){
if(flashvar=document.forms["variable4flash"].var1send.value){ // esli var1 i var 2 sovpodaet pishetsya otvet
document.toHTML.inpTxt.value = val; // prisvoenie znachenija iz flasha v inputbox
}
}
</script>


а вот и сам хтмл документ выглядит вот так

Код

<html>
<head>
    <title>fl00dA // zJSdoFlashdoHTML</title>
</head>
<script language="JavaScript" type="text/javascript">
function zJSdoFlash(){
divtest.Play();
divtest.SetVariable("flashvar", document.forms["variable4flash"].var1send.value); 
divtest.SetVariable("flashvar2", document.forms["variable4flash"].var2send.value);
}

function setInput(flashvar, val){
if(flashvar=document.forms["variable4flash"].var1send.value){
document.toHTML.inpTxt.value = val;
}
}
</script>
<body>

<form name="variable4flash">

<select name="var1send">
<option value=none>Vybrat polozku</option>
<option value=none>--------------------</option>
<option value="001">1</option>
<option value="002">2</option>
<option value="003">3</option>
<option value="004">4</option>
</select>

<select name="var2send">
<option value=none>Vybrat polozku</option>
<option value=none>--------------------</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
</select>

<input type="button" value="Go" onclick="javascript:zJSdoFlash();">
</form>

<EMBED src="divtest.swf" swliveconnect=true NAME="divtest" menu=false quality=high bgcolor=#FFFFFF  WIDTH="1" HEIGHT="1" TYPE="application/x-shockwave-flash" ></EMBED>

<form name="toHTML">
<input type="text" name="inpTxt">
</form>
</body>
</html>


а флаш выглядит вот так вот первый кадр

Код

if((flashvar or flashvar2)!= ""){
    gotoAndPlay(2);
}
else{
    stop();
}

вот второй

Код

if (flashvar === "002"){
    getURL("javascript:setInput('flashvar', 'vybrana polozka')");
    stop();
}
if (flashvar === "002" and flashvar2 === "02"){ 
getURL("javascript:setInput('flashvar', 'dva pole funguje')");
stop();
}
if (flashvar === "004"){
    getURL("javascript:setInput('flashvar', 'mohlo by to byt lepsi')");
    stop();
}
if (flashvar === "001"){
    getURL("javascript:setInput('flashvar', 'tak to pak jo')");
    stop();
}
if (flashvar === "003"){
    getURL("javascript:setInput('flashvar', 'funguje to')");
    stop();
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)