Foros del Web » Programando para Internet » Javascript »

Ayuda con Select, resultado automatico

Estas en el tema de Ayuda con Select, resultado automatico en el foro de Javascript en Foros del Web. Hola muuuchas horas con esto y no puedo resolverlo plis ayuda. Tengo por ejemplo un select que muestra los años por los cuales se puede ...
  #1 (permalink)  
Antiguo 08/12/2010, 22:55
Avatar de lucianinski  
Fecha de Ingreso: noviembre-2009
Ubicación: México
Mensajes: 56
Antigüedad: 14 años, 6 meses
Puntos: 1
Ayuda con Select, resultado automatico

Hola muuuchas horas con esto y no puedo resolverlo plis ayuda. Tengo por ejemplo un select que muestra los años por los cuales se puede contratar un servicio y quiero que al buscar en el select por ejemplo por 3 años que me aparezca en otra caja la suma del costo del producto por 3 años, ya que el costo normal seria por una año. El algoritmo de cálculo no es tanto problema sino la forma de presentarlo. Lo que quiero es que me de el resultado directamente sin que se tenga que actualizar la página ya intente con el onchange="submit()", pero al actualizar se me borra todo creo que por que el formulario depende de un '$_post' anterior. Creo que en php no se puede y parece que con javaScrip si pero no lo domino.

encontre este pedazo de código que parece ser lo que necesito pero no se como aplicarlo.


Código PHP:
function verseleccion()
{
var x=document.getElementById("clasification");
alert(x.selectedIndex);
}

<select onchange="verseleccion()" id="clasification" name="clasification">
<option value=""></option>
<?php RetrieveClasifications();?>
</select>


Este es mi código, disculpen la forma burda de mi programación pero soy novato, aqui intento guardar el valor del select en una variable enviada por metodo post a la misma página y por medio de onchange=submit, el problema es que al actualizarse se me borra todo el formulario:

Código PHP:
<form action="comprar.php"  method="post">
      <select id="select1" name="select1" onchange="this.form.submit()">
        <option value=1 selected="selected" >1 a&ntilde;o</option>
        <option value=2>2 a&ntilde;os</option>
        <option value=3>3 a&ntilde;os</option>
        <option value=4>4 a&ntilde;os</option>
        <option value=5>5 a&ntilde;os</option>
        </select></form>
      </label></th><th>
     <?
      $selec 
$_POST['select1'];
           if(
$selec==1){ 
      
$suma $costo1;
      }
      else if(
$selec==2){
      
$suma=2*$costo1;
      }
       else if(
$selec==3){
      
$suma=3*$costo1;
      
      }
       else if(
$selec==4){
      
$suma=4*$costo1;
      
      }
       else if(
$selec==5){
      
$suma=5*$costo1;
      }
      else
      
$suma $costo1
      ?>
      <input name="textfield" value='$ <?=$suma?>' type="text" size="10"  />
        </th></tr>
  #2 (permalink)  
Antiguo 08/12/2010, 23:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Ayuda con Select, resultado automatico

en php puedes hacer el calculo y generar el formulario junto con los datos enviados. de todos modos es la solucion de ultimo recurso, porque si javascript no esta disponible entonces no tienes otra alternativa. eventualmente tienes que usar el evento onchange pero no tienes que invocar submit porque este es para enviar el formulario. solo tienes que tomar el valor del option seleccionado, realizar el computo, y mostrar el resultado (un campo, elemento, o como guste). por supuesto, todo esto en javascript, nada en php.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 10/12/2010, 03:04
Avatar de lucianinski  
Fecha de Ingreso: noviembre-2009
Ubicación: México
Mensajes: 56
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Ayuda con Select, resultado automatico

Bueno mas o menos me ayudo tu respuesta pero si tuve que investigar algo y apenas hasta ahorita medio lo resolví pues me funciona en el previo localmente pero no al corgarlo en el servidor, aqui el codigo de ejemplo:


Código:
<script type="text/javascript">
<!--
		function goMenu(form){
		dato = document.form.select1.options[document.form.select1.selectedIndex].value;
		costo = 145;
		total = dato*costo;
		document.getElementById("text1").innerHTML = total;
		 //document.form.textfield2.value=dato; 
}
//-->
</script>
</head>

<body>

 <form name="form" >
	  <select name="select1" onchange="javascript:goMenu(this)">
	    <option value="1" selected="selected" >1 a&ntilde;o</option>
	    <option value="2">2 años</option>
	    <option value="3">3 años</option>
	    <option value="4">4 años</option>
	    <option value="5">5 años</option>
		
	    </select></form>
		<div id="text1">145</div>

</body>

Al darle en el editor "Previo en el navegador" funciona pero al cargarlo ya no. Creo que puede deberse a que el código le pertenece a cada una de las líneas resultados de un "foreach" :
Código:
<?
	$costo1=145;
	$costo2=165;
	$costo3=190;
	$costo4=290;
	$costo5=400;
	$selected = $_POST['paquetes'];	
	$dominios = $_POST['dominios'];
	$dominios = is_array($dominios)?$dominios:array();	
	foreach($dominios as $dominio){
		
	if($selected=='PS-Especial'){?>
	<tr><th><div align="left"> <?=$dominio?></div></th><th> $ <?=$costo1?></th>
	<th> M.N (Pesos mexicanos)</th><th><label>

<form name="form" >
	  <select name="select1" onchange="goMenu()">
	    <option value=1 selected="selected" >1 a&ntilde;o</option>
	    <option value=2>2 años</option>
	    <option value=3>3 años</option>
	    <option value=4>4 años</option>
	    <option value=5>5 años</option>
		
	    </select></form>
	  </label></th><th>
	  <div id="text1">145</div>
	  </th>
	</tr>
	<?

O alguien que sepa cómo puedo resolverlo, saludos gracias.
  #4 (permalink)  
Antiguo 10/12/2010, 04:21
Avatar de lucianinski  
Fecha de Ingreso: noviembre-2009
Ubicación: México
Mensajes: 56
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Ayuda con Select, resultado automatico

Creo que ya se que es, pues como el código se repite varias veces debido al foreach pues el nombre del div de respuesta, del form y del select se repiten igual varias veces y el código en javascrip no sabe a cual mandar pues varios tienen el mismo nombre. Bueno no se como resolverlo si alguien sabe agradeceria la ayuda.

Etiquetas: automatico, select, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:27.