Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

natalia

Recuperar valor selecionado em um list

Recommended Posts

Oi pessoal,

 

 

Estou com um problema, em um formulário na parte de cursos o usuário escolhe o nivel do idioma em um list, mas eu não entendo nada de javascript e não consigo recuperar o valor deste list. Preciso passar esse valor para uma variavel e gravar no banco. O script é este abaixo, no banco são gravados valores neste formato: AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1. Alguém sabe como fazer isso?

 

 

 

 

<script language="JavaScript">

<!--

var Carregou = false;

function Atual(form2) {

Carregou = true;

CurrAntigo = false;

for(i=0; i < form2.codesc.options.length; i++) {

if (form2.codesc.options.value == parent.document.geral.codescod.value) {

form2.codesc.options.selected = true;

CurrAntigo = true;

break;

}

}

if (!CurrAntigo) form2.codesc.selectedIndex = -1;

form2.comesc.value = parent.document.geral.comesc.value;

form2.cursos.value = parent.document.geral.cursos.value;

form2.codesc.focus();

restorelang(form2,parent.document.geral.lingua.value);

 

form2.inform2atica.value = parent.document.geral.inform2atica.value;

// Troca a msg de ajuda

parent.TrocaAjuda('ajuda.htm')

}

function Salva(form2) {

if (Carregou) {

if (form2.codesc.selectedIndex!=-1) parent.document.geral.codesc.value = form2.codesc.options[form2.codesc.selectedIndex].text;

if (form2.codesc.selectedIndex!=-1) parent.document.geral.codescod.value = form2.codesc.options[form2.codesc.selectedIndex].value;

parent.document.geral.comesc.value = form2.comesc.value;

parent.document.geral.cursos.value = form2.cursos.value;

parent.document.geral.inform2atica.value = form2.inform2atica.value;

savelang(form2);

}

}

function writeoption() {

window.document.write('<OPTION value=0>Não</OPTION>');

window.document.write('<OPTION value=1>Básico</OPTION>');

window.document.write('<OPTION value=2>Intermediário</OPTION>');

window.document.write('<OPTION value=3>Avançado</OPTION>');

}

 

// Create de language string

// form2at

// AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1

function savelang(form2){

parent.document.geral.lingua.value = 'AR' + form2.AR.options[form2.AR.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'AW' + form2.AW.options[form2.AW.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'AS' + form2.AS.options[form2.AS.selectedIndex].value + '*';

 

parent.document.geral.lingua.value += 'BR' + form2.BR.options[form2.BR.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'BW' + form2.BW.options[form2.BW.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'BS' + form2.BS.options[form2.BS.selectedIndex].value + '*';

 

parent.document.geral.lingua.value += 'CR' + form2.BR.options[form2.CR.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'CW' + form2.BW.options[form2.CW.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'CS' + form2.BS.options[form2.CS.selectedIndex].value + '*';

 

parent.document.geral.lingua.value += 'DR' + form2.CR.options[form2.DR.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'DW' + form2.CW.options[form2.DW.selectedIndex].value + '/';

parent.document.geral.lingua.value += 'DS' + form2.CS.options[form2.DS.selectedIndex].value ;

parent.document.geral.linguaex.value = form2.langex.value;

 

}

//Restore de HTML form2 with the 'language' string

function restorelang(form2,str) {

form2.langex.value = parent.document.geral.linguaex.value ;

var lang,details ;

if ((str !='') || (str.length > 6)) {

lang = str.split("*");

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

details = lang.split("/");

for (var j=0; j < details.length; j++) {

var label,val;

label = details[j].charAt(0);

label += details[j].charAt(1);

val = details[j].charAt(2);

eval('form2.' + label + '.selectedIndex = ' + val + ';');

}

}

}

}

 

// -->

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, você quer pegar o valor de um list (menu select por exemplo).. e enviar para um BD...Vendo desse lado, eu faria isso usando ASP mesmo... seria como um formulario de emails... onde você pega o valor dos campos e envia para o email X ... mas no teu caso, você estaria enviando os dados do formulario para o BD..Fica bem mais facil... pois se você for fazer com js... você vai ter que pegar o valor... colocar em uma variavel em asp.. para depois enviar... se for direto com a linguagem.. creio que você possa pegar o valor direto e enviar...Não sei muito sobre asp.. mais com php eu faria isso... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é o seguinte, estou trabalhando em cima de uma base de dados com uns 5000 registros, e todas as informações sobre o idioma que o usuário tem conhecimento foram gravados assim:exemplo: AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1Eu não tenho o codigo fonte do site antigo, mas peguei o javascript que faz isso, que é o exemplo que está acima. Se eu faço um request no campo do list só obtenho os valores 0, 1, 2, 3, que significa não, basico, intermediario e avançado. Como uma variavel do asp pode recuperar este valor:AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1.Deu para entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O conteudo do list é javascript, olha o exemplo: <SELECT name="AW" class="list" tabindex="4"> <script language="JavaScript"> <!-- writeoption(); --> </script> </SELECT>E se você observar neste trecho do script que está na minha pergunta inicial, verá que o value já está numerado:function writeoption() {window.document.write('<OPTION value=0>Não</OPTION>');window.document.write('<OPTION value=1>Básico</OPTION>');window.document.write('<OPTION value=2>Intermediário</OPTION>');window.document.write('<OPTION value=3>Avançado</OPTION>');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me diz uma coisa: Como é que o programa vai pegar esses valores que você quer se você não está colocando-os aí no list, os valores dos options são: 0,1,2 e 3 e não algo como: AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1

Compartilhar este post


Link para o post
Compartilhar em outros sites

você viu o script que tem na minha pergunta? Eu não manjo nada de javascript, mas pelo que percebi acho que é essa parte abaixo que faz isso:// Create de language string// form2at// AR0/AW0/AS0*BR1/BW1/BS1*CR1/CW1/CS1function savelang(form2){parent.document.geral.lingua.value = 'AR' + form2.AR.options[form2.AR.selectedIndex].value + '/';parent.document.geral.lingua.value += 'AW' + form2.AW.options[form2.AW.selectedIndex].value + '/';parent.document.geral.lingua.value += 'AS' + form2.AS.options[form2.AS.selectedIndex].value + '*';parent.document.geral.lingua.value += 'BR' + form2.BR.options[form2.BR.selectedIndex].value + '/';parent.document.geral.lingua.value += 'BW' + form2.BW.options[form2.BW.selectedIndex].value + '/';parent.document.geral.lingua.value += 'BS' + form2.BS.options[form2.BS.selectedIndex].value + '*';parent.document.geral.lingua.value += 'CR' + form2.BR.options[form2.CR.selectedIndex].value + '/';parent.document.geral.lingua.value += 'CW' + form2.BW.options[form2.CW.selectedIndex].value + '/';parent.document.geral.lingua.value += 'CS' + form2.BS.options[form2.CS.selectedIndex].value + '*';parent.document.geral.lingua.value += 'DR' + form2.CR.options[form2.DR.selectedIndex].value + '/';parent.document.geral.lingua.value += 'DW' + form2.CW.options[form2.DW.selectedIndex].value + '/';parent.document.geral.lingua.value += 'DS' + form2.CS.options[form2.DS.selectedIndex].value ;parent.document.geral.linguaex.value = form2.langex.value;A, B, C e D são siglas para representar cada idioma.R -significa readW - writeS - speak0 - não (se o usuário não conhece nenhuma lingua)1 - basico2- intermediario3- avancadoEntão o javascript junta tudo isso, aqui seria um curso: AR1/AW2/AS3E eles são separados por * Eu acho que deve ser isso, não tenho certeza, por isso pedi ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso continuar gravando os dados da mesma forma que a antiga, pois se eu fizer diferente como vou fazer p/ visualizar os curriculos antigos? Se alguém entendeu o script que eu coloquei aqui, é so dizer como faço para armazenar esse dado em uma variavel.Nos outros campos do meu formulario que não há o javascript é facil. Pois faço um request e gravo no banco o que vier do value. Mas esse não é assim, o que vem do value são numeros e o que tá gravado no banco é do jeito que eu já falei.Mas se ninguém souber tudo bem.Obrigada por tentarem me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que eu não estou conseguindo passar pra vcs o que eu preciso. O script tá ok, não tem problema. Eu só quero saber como faço para que uma variavel do asp recebe as informações que o usuario escolheu no formulario.O formulário tá assim:Ingles - (um dos idiomas, representado pela letra A)Fala - (representado pela letra S, aqui possui um list com os niveis: não, basico, intermediario e avancado)Lê - (representado pela letra R, aqui possui um list com os niveis: não, basico, intermediario e avancado)Escreve - (representado pela letra W, aqui possui um list com os niveis: não, basico, intermediario e avancado)O JS junta esses informações: AS1/AR2/AW1E agora como recupero isso no Asp?varIdioma = ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Natalia,Realmente tá meio dificil de enteder mas acho q o exemplo a seguir pode ajudar:<%Dim sTudoDim vTudo 'Vetor q ira receber o conteúdo de AS1/AR2/AW1Dim isTudo = "AS1/AR2/AW1"vTudo = split(sTudo,"/")for i = 0 to UBound(vTudo) Response.Write i & " - " & vTudo(i) & "<br>"next Response.End%>Usei o split para jogar o contéudo "AS1/AR2/AW1" para um vetor e depois recuperar cada ocorrência. você poderá substituir a variável sTudo pelo document.seu_frm.seu_controle.value ou mesmo por um request.form("seu_campo").Fui claro??t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

nathaliao JS tá colocando isso num input (parent.document.geral.lingua.value)esse input (lingua) deve estar dentro de um form, logo, quando voce clicar num botao do tipo submit, ele ira chamar um .aspno ASP voce faz como jothaz escreveu, mas muda a linhasTudo = "AS1/AR2/AW1"para sTudo = Request.Form("lingua")ai voce faz o que quiser com esse texto, separa por * depois por /espero ter ajudado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.