Ir para conteúdo

POWERED BY:

Arquivado

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

Geisimar Rech

em como repassar valores para um campo no form

Recommended Posts

Estou com a seguinte dúvida:

 

Tenho um listbox de cursos, gostaria que ao selecionar um curso, repassa-se o valor em R$ em outro campo:

Já tenho algo montado que até funciona. Mas consegui fazer funcionar da seguinte forma:

 

No Value do listbox deixei o Valor do Curso, no caso seria o nome, mas se deixo o nome ele repassa o nome para o outro campo.

 

Veja o Código:

<script language="Javascript" type="text/javascript">
function joga(s) {
  document.getElementById('valor').value = s.options[s.selectedIndex].value;
  document.getElementById('curso_pacote').value = s.options[s.selectedIndex].text; 
} 
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você falou que deixou o value do option com o preço do curso, tenho uma função aqui que pode te ajudar.

 

function repassaValor(){

	var opcao_do_select;
	var texto;

	opcao_do_select = document.NOMEDOFORMULARIO.IDDOCOMBO.selectedIndex; // pegar o valor do select

	if (opcao_do_select != 0) {
		valor= document. NOMEDOFORMULARIO. IDDOCOMBO.options[opcao_do_select].value; // pega o value que coresponde ao valor do select
		document. NOMEDOFORMULARIO.INPUT_TEXT.value = valor;


}

espero que ajude, qualquer coisa é só perguntar.

Esta função voce pode chamar no onChange do combo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando deixei o value do option com o preço ele repassa certo....mas eu quero deixar o nome do curso no value....só assim iria inserir o nome certo no banco

 

Veja meu código mais detalhado

<script language="Javascript" type="text/javascript">
function joga(s) {
  document.getElementById('valor').value = s.options[s.selectedIndex].value;
  document.getElementById('curso_pacote').value = s.options[s.selectedIndex].text; 
} 
</script>




<select name="curso_pacote" id="curso_pacote" style="width:200" onchange="joga(this)">
			<option value="89,90">Curso 01</option>
  </select>

Obrigado pela Ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A inserção será normal:

Nome do curso será selecionado no select e inserido na coluna Curso do banco

Valor seria o valor repassado após selecionar o curso no select e inserido na coluna valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema que se deixo o preço no value do select do curso ele insere no banco de dados na coluna curso o preço e não o nome como deveria ser.

 

Desculpa se estou sendo pouco claro...mas não vejo outra forma de explicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então amigo, aquela função js que te passei em um dos posts anteriores pega o valor que está no value do seu option, para pegar o texto que está no value do option é a mesma função só que com uma pequena mudança, lembrando entao que agora esta função ira pegar o texto que está no seu option e você pode deixar o value do seu option com o preço do curso

function repassaValor(){

	var opcao_do_select;
	var texto;

	opcao_do_select = document.NOMEDOFORMULARIO.IDDOCOMBO.selectedIndex; // pegar o valor do select

	if (opcao_do_select != 0) {
		texto = document. NOMEDOFORMULARIO. IDDOCOMBO.options[opcao_do_select].text; // pega o texto 
		document. NOMEDOFORMULARIO.INPUT_TEXT.value = texto;


}

essa função vai pegar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou leigo em JS, apesar de ahcar muito importante!

Não consegui fazer com o código que você me passou.

Veja:

 

function repassaValor(){

	

	var opcao_do_select;
	var texto;

	opcao_do_select = document.form1.curso_pacote.selectedIndex; // pegar o valor do select

	if (opcao_do_select != 0) {
		texto = document. form1. curso_pacote.options[opcao_do_select].text; // pega o texto 
		document. form1.valor.value = texto;


}
se por acaso você souber de outra solução ficaria grato. Estou a tarde inteira me batendo com isso!rsrsrs

 

 

eu só preciso que ao escolher um curso com select me de o preço dele em outro campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, se você quer que ao selecionar um curso no combo o valor dele seja colocado em um input text, este valor tem que vir de algum lugar; temos duas opções: value do option ou o proprio texto do option, os dois scripts que te passei fazem isso, um pega o value e o outro o pega o texto da opção selecionada.

 

Como você quer que o valor do curso passe para o input te aconselho a guardar o valor do curso no vale do seu option e utilizar os scripts que te passei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa, mas tentei de todas as formas e não deu certo.

<script language="Javascript" type="text/javascript">
function repassaValor(){

	var opcao_do_select;
	var texto;

	opcao_do_select = document.form.curso_pacote.selectedIndex; // pegar o valor do select

	if (opcao_do_select != 0) {
		texto = document. form. curso_pacote.options[opcao_do_select].text; // pega o texto 
		document. form.valor.value = texto;


}

</script>

Veja se está certo por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae geisimar rech so estou vendo agora seu post, pode explicar ao certo o que pretende? se puder poste tb o codigo html, como o ircc falou tente explicar um pouco melhor.

 

Pelo que percebi você tem um select com os cursos e quer que aparece num input o valor do curso com um $ antes?

 

 

se for isso e facil

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>wm154</title>
<script type="text/javascript">
function teste(){
qual=document.getElementById("cursos"); // pega o id do select
v=qual.options[qual.selectedIndex].value; // pega o valor neste caso e o preco
document.getElementById("caixa").value="$"+v; // o valor da caixa e igual a conectacao de $ e o preco do curso seleccionado
}
</script>
</head>

<body>
<select onchange="teste()" id="cursos">
<option value="80">curso a</option>
<option value="70">curso b</option>
<option value="60">curso c</option>
</select>
<input type="text" id="caixa" value="" />
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu código funciona...no caso eu tenho um que funciona como o seu....

mas meu problema ta sendo na hora de gravar no banco....por que?

Quando coloco o preço do curso como Value do select ele grava no banco o preço.....sendo que preciso que grave o nome do curso.....

 

Talvez eu estou fazendo uma confusão.....mas vou postar o código completo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="Estilos.css" rel="stylesheet" type="text/css" />
<script language="Javascript" type="text/javascript">
   function calcula(form) {
	  var soma = eval(form.valor.value) / eval(form.parcelas.value);
	  form.valor_parcela.value = soma;
   }

</script>
 <script language="Javascript" type="text/javascript"> 
function repassaValor(){

   qual=document.getElementById("curso_pacote"); // pega o id do select
v=qual.options[qual.selectedIndex].value; // pega o valor neste caso e o preco
document.getElementById("valor").value=v; // o valor da caixa e igual a conectacao de $ e o preco do curso seleccionado
}

</script>

<link href="includes/skins/mxkollection3.css" rel="stylesheet" type="text/css" media="all" />
</head>

<body>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form" id="form">
  <table width="100%" align="center">
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Aluno:</td>
	  <td><input name="aluno" type="text" value="<%=(alu.Fields.Item("nome").Value)%>" size="32" readonly="readonly" /></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">CÓDIGO DO ALUNO:</td>
	  <td><input name="cod_aluno" type="text" value="<%=(alu.Fields.Item("cod").Value)%>" size="32" readonly="readonly" /></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Curso/pacote:</td>
	  <td><select name="curso_pacote" id="curso_pacote" style="width:200" onchange="repassaValor()">
		<option value="0,0">Selecione um Curso</option>
		<%
While (NOT cur.EOF)
%>
<option value="<%=(cur.Fields.Item("nome").Value)%>"><%=(cur.Fields.Item("nome").Value)%></option>
		<%
  cur.MoveNext()
Wend
If (cur.CursorType > 0) Then
  cur.MoveFirst
Else
  cur.Requery
End If
%>
	  </select></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Data do Primeiro Vencimento:</td>
	  <td><input name="Data_Vencimento" id="Data_Vencimento" value="" size="32" wdg:mondayfirst="false" wdg:subtype="Calendar" wdg:mask="<%= KT_screen_date_format %>" wdg:type="widget" wdg:singleclick="false" wdg:restricttomask="no" wdg:readonly="true" /></td>
	</tr>
	<tr valign="baseline">
	  <td align="right" valign="top" nowrap="nowrap">Dias:</td>
	  <td><p>
		<select name="Dias" size="6" multiple="multiple" id="Dias">
		  <option value="Segunda">Segunda</option>
		  <option value="Terça">Terça</option>
		  <option value="Quarta">Quarta</option>
		  <option value="Quinta">Quinta</option>
		  <option value="Sexta">Sexta</option>
		  <option value="Sábado">Sábado</option>
		</select>
		<br />
	  </p></td> 
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Horário Inicial:</td>
	  <td><select name="horario_inicial" size="1" id="horario_inicial" style="width:200">
		<%
While (NOT hor.EOF)
%>
		<option value="<%=(hor.Fields.Item("horarios").Value)%>"><%=(hor.Fields.Item("horarios").Value)%></option>
		<%
  hor.MoveNext()
Wend
If (hor.CursorType > 0) Then
  hor.MoveFirst
Else
  hor.Requery
End If
%>
	  </select></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Horário Final:</td>
	  <td><select name="horario_final" size="1" id="horario_final" style="width:200">
		<%
While (NOT hor.EOF)
%>
		<option value="<%=(hor.Fields.Item("horarios_final").Value)%>"><%=(hor.Fields.Item("horarios_final").Value)%></option>
		<%
  hor.MoveNext()
Wend
If (hor.CursorType > 0) Then
  hor.MoveFirst
Else
  hor.Requery
End If
%>
	  </select></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Valor do Curso:</td>
	  <td><input name="valor" type="text" id="valor" size="32" ></td>
	</tr>
	<tr valign="baseline">
	  <td rowspan="2" align="right" nowrap="nowrap">Parcelas:</td>
	  <td><input type="text" name="parcelas" value="" size="32" /></td>
	</tr>
	<tr valign="baseline">
	  <td> <input type = "button" id="calcular" value = "Calcular" onClick = "calcula(this.form)" />
</td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right">Valor da parcela:</td>
	  <td><input type="text" name="valor_parcela" value="" size="32"/></td>
	</tr>
	<tr valign="baseline">
	  <td nowrap="nowrap" align="right"> </td>
	  <td><input type="submit" value="Inserir Registro" /></td>
	</tr>
  </table>
  <input type="hidden" name="MM_insert" value="form" />
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ha, entao ja percebi isso e pk quando você pega o valor pelo php ou pelo asp ele vai buscar ao select o valor ou seja que esta dentro de value por isso e que grava sempre o valor monetario.

 

Nao sei se da para pegar o text pelo php ou pelo asp, se nao der a solucao que você tem e pegar pelo js o "text" do select e colocalo em um input. depois você pega o input pelo asp ou pelo php e ja era.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>wm154</title>
<script type="text/javascript">
function teste(){
qual=document.getElementById("cursos"); // pega o id do select
v=qual.options[qual.selectedIndex].innerHTML; // pega o  text da opcao
document.getElementById("caixa").value=v; // o valor da caixa e igual ao valor da variavel v
}

</script>
</head>

<body>
<select onchange="teste()" id="cursos">
<option value="80">curso a</option>
<option value="70">curso b</option>
<option value="60">curso c</option>
</select>
<input type="text" id="caixa" value="" />
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então Geisimar Rech, ta conseguindo? A função que pega o text do select você já tem, te passei ontem já, agora é soh usar ela e salvar o nome do banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, usei os dois meios ali, um que pega o value do texto selecionado e a outra parte o texto selecionado, da pra fazer isto em uma função só

Compartilhar este post


Link para o post
Compartilhar em outros sites

E essa função que o WM passou.....como ficaria junto com a sua?

 

 

Acredito que eu não esteja usando a sua função corretamente, pois não consegui fazer funcionar.......já a do WM funcionou...mas não grava no banco o que eu quero.......no caso é o que a sua função faria.

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.