none
javascript e Session RRS feed

  • Pergunta

  • e ai pessoal tudo bom?

    como eu faço para gravar o valor de uma varivel javascript, em alguma sessao vbscript?

    desde de já agradeço a ajuda

    fiquem com Deus e com nossa senhora
    quinta-feira, 23 de novembro de 2006 19:15

Todas as Respostas

  • Vc vai ter que passar do javascritp para o vb via querystring.
    No VB vc transforma de querystring para Session
    Diretamente acho que não é possível.
    Session é alocada no servidor;
    Variável Javascript é guardada no cliente.
    quinta-feira, 23 de novembro de 2006 19:42
  • Diretamente não tem como vc fazer isso..

    Você pode colocar um campo escondido no form e colocar o valor da variável javascript dentro do campo e dar um submit()
    Ex: <script>
    var teste = "teste";
    document.frm1.txt1.value= teste;
    document.frm1.submit();
    </script>

    Quando der refresh você recupera, por post ou get...
    teste = request.form("txt1")

    Espero ter ajudado,
    Mauro Bellotti

    quinta-feira, 23 de novembro de 2006 19:49
  • eu estou fazendo isso, utilizando o Request. e armazenando seu valor numa sessao, mas o problema e que quando eu dou o submit ele dá um reload na pagina

    teria como eu fazer isso sem dar um reload?


    quinta-feira, 23 de novembro de 2006 19:53
  • A idéia é essa... ahuahiuahh

    Sem fazer upload atrapalha um pouco as coisas...

    Você poderia abrir uma página asp pelo javascript passando o valor dessa sessão pela url

    Na ".asp" você salva o valor na sessão e no evento onload você fecha a janela (window.self.close()).

    Agora sua sessão já está com o novo valor, mas na página que você está (requisidora), você ainda não pode utilizar esse valor, enquanto não der um refresh ou algo do gênero... O ASP executa toda a página e código linha a linha...
    Faz o teste...

    Espero ter ajudado,

    Mauro Bellotti

    quinta-feira, 23 de novembro de 2006 20:01
  • Mauro vlw pela ajuda

    mas eu nao entendi direito, voce poderia colocar um exemplo por favor?
    quinta-feira, 23 de novembro de 2006 20:13
  • olhem esse exemplo abaixo

    na minha pagina pai tem um campo do tipo lista, e na opção onclick ele chama a pagina abaixo, com um campo do tipo lista com algumas opções

    quando eu aperto no botao ">" ele transfere os dados da lista filho para a lista pai sem problemas... eu pensava que ja tinha resolvido tudo quando fui testa no IE e vi que
    só funciona no firefox!!!!

    quando eu testo no ie ele diz que o objeto newOpt1 é invalido, alguem pode me ajudar?




    <--

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <script>

    /*
    destination = box.options[box.selectedIndex].value;
    document.forms['testform'].testselect.options[i ] = new Option('new text','new value')

    */
    //Seta os valores na lista pai do formulario que foi utilizado
    function SetValue() {
    var theSel = window.opener.document.getElementById("LST_PAI");
    var lstfilho = document.getElementById("LST_FILHO");
    var newText = lstfilho.options[lstfilho.selectedIndex].text;
    var newValue = lstfilho.options[lstfilho.selectedIndex].value;

    if (theSel.length == 0) {
    var newOpt1 = new Option(newText, newValue);
    theSel.options[0] = newOpt1;
    theSel.selectedIndex = 0;
    } else if (theSel.selectedIndex != -1) {
    alert("teste");
    var selText = new Array();
    var selValues = new Array();
    var selIsSel = new Array();
    var newCount = -1;
    var newSelected = -1;
    var i;
    for(i=0; i<theSel.length; i++)
    {
    newCount++;
    if (newCount == theSel.selectedIndex) {
    selText[newCount] = newText;
    selValues[newCount] = newValue;
    selIsSel[newCount] = false;
    newCount++;
    newSelected = newCount;
    }
    selText[newCount] = theSel.options[i ].text;
    selValues[newCount] = theSel.options[i ].value;
    selIsSel[newCount] = theSel.options[i ].selected;
    }
    for(i=0; i<=newCount; i++)
    {
    var newOpt = new Option(selText[i ], selValues[i ]);
    theSel.options[i ] = newOpt;
    theSel.options[i ].selected = selIsSel[i ];
    }
    }
    }
    </script>
    </head>

    <body>
    <select id="LST_FILHO" size="5">
    <option value="1">Carro</option>
    <option value="2">Moto</option>
    <option value="3">Avião</option>
    <option value="4">Caminhão</option>
    <option value="5">Bicicleta</option>

    </select>
    <br />
    <input type="button" value=">" onclick="SetValue()">
    </body>
    </html>
    quinta-feira, 23 de novembro de 2006 20:41
  • Vc pode colocar um iframe tamanho 1 x 1 em sua página, qdo quoiser transformar sua variável javascript em vb, basta vc passar por querystring para esse iframe que se cuidará de converter em session.
    Deta forma, não tem refresh, apenas no iframe escondido.
    sexta-feira, 24 de novembro de 2006 14:55
  • adaptei o codigo

    nesse novo codigo, eu  passo os valores da minha lista filho para a minha lista pai, só que dá um erro do tipo : unknown exception

    pô, se nem o javascript sabe que exceção é essa, imagine eu hehehehe
    alguem pode me ajudar?

    var opt;

    for(i=0; i<=Lista_filho.length; i++)
    {

    opt = new Option(Lista_filho.optionsIdea.text,Lista_filho.optionsIdea.value);

     opener.window.document.getElementById("Lista_pai").optionsIdea = opt;
     

    }
    sexta-feira, 24 de novembro de 2006 18:55
  • Desculpe a demora...

    A idéia do Glauber acima também é boa...
    Um exemplo do que eu estava falando

    PÁGINA 1
    --------------
    <a href=abrepag('<%=Session("x")%>');">Atualizar Sessão</a>

    <script>
    Function abrepag(var){
     window.open("pagina.asp?c=" + var +");
    }
    </script>

    PÁGINA 2 (ASP)
    ------------------------
    <%
    Dim var : var=request.querystring("c")
    session("x") = var
    %>
    <body onload=window.self.close()">

    Só isso

    Espero ter ajudado, Mauro Bellotti

    terça-feira, 28 de novembro de 2006 17:28
  • Jonh,

    Não entendi, direito o que você precisa, mais talvez utilizando cookies via javascript você consegue acessar o valor com mais segurança, talvez.

    Veja se ajuda:
    http://www.w3schools.com/jS/js_cookies.asp

    []´s
    segunda-feira, 28 de dezembro de 2009 21:17