Foros del Web » Programando para Internet » Javascript »

Ayuda con select y textbox

Estas en el tema de Ayuda con select y textbox en el foro de Javascript en Foros del Web. Que tal amigos del foro, estoy realizando una aplicacion en php y mysql, necesito su ayuda tengo una tabla que se llama normas esta tiene ...
  #1 (permalink)  
Antiguo 10/06/2009, 15:17
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda con select y textbox

Que tal amigos del foro, estoy realizando una aplicacion en php y mysql, necesito su ayuda tengo una tabla que se llama normas esta tiene un id, nombre, y otros datos que van desde el l1 hasta el l14 donde estan guardados numeros, el select lo hice y muestra el nombre y al seleccionarlo toma su id; bien el problema es el siguiente: necesito que cuando seleccione un elemento del select este me rellene campos textbox que estan en la pagina con los datos de la bd que van desde l1 hasta l14


<form>
<div>
<label for="tiponorma">Normas</label>
<select name="tiponorma" id="tiponorma">
<option value="0">Selecciona </option>
<?php
require('include/conectar.php'); //me conecto a la base de datos
$sql = "SELECT `idtiponorma`, `nombre` FROM auxtiponorma ORDER BY `nombre` ASC"; // realizo la consulta
$result = mysql_query($sql);
$i = 0;
while ($row = mysql_fetch_array($result))
{
echo utf8_encode("<option value=".$row[$i].">".$row['nombre']."</option>\n"); //muestro los datos en el select y al seleccionar tomo su id
}
?>
</select>
</div>

<div>
<label for="2">2&quot;</label>
<input type="text" class="textbox" id="a1" name="a1" />
</div>

<div>
<label for="112">1 1/2&quot;</label>
<input type="text" id="a2" name="a2"/>
</div>

///y asi sucesivamente hasta a14


agradezco cualquier ayuda que me puedan prestar
  #2 (permalink)  
Antiguo 10/06/2009, 23:54
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Ayuda con select y textbox

Cargar elementos desde base de datos una vez se ha realizado un evento es más cosa de ajax, pero si te tengo que sugerir algo, haria uso de los campos invisibles al cargar la página.

Me explico. Si con la opción l1 rellenas los textbox con lo que venga de bases de datos de con id l1, entonces en un textbox oculto con id por ejemplo l1, almacenaría lo que viene de base de datos con algun separador y luego con un split de ese textbox y sabiendo el orden, rellenaría los textbox. Esta opción se puede hacer con un bucle y concatenando cadenas, en cuanto para dar una id a los textbox. De todas formas esta opción que te brindo no es para nada óptima, puesto que aunque accedas 1 sola vez a la base de datos, cargas de muxa información a la página, por lo que te recomiendo que mires un poco de ajax :)
  #3 (permalink)  
Antiguo 12/06/2009, 14:17
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Ayuda con select y textbox

Salu2 amigos del foro, pude lograr parte de lo que queria, como dijo kirasakuya la cuestion iba mas hacia ajax, googleando un tanto me tope con parte de la solucion logre cargar los datos de la bd en textbox el problema persiste en que los cargo en textbox nuevos y no en los que tengo en mi pagina no soy muy ducho en esto de ajax y javascript aqui el codigo a ver si me pueden ayudar:

ajax.js

//creo el objeto xmlhttp depenidendo si es ie o firefox
function xmlhttp(){
var xmlhttp;
try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){
try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){
try{xmlhttp = new XMLHttpRequest();}
catch(e){
xmlhttp = false;
}
}
}
if (!xmlhttp)
return null;
else
return xmlhttp;
}

function ajax(){
var query = document.getElementById('norma').value;
var ajax = xmlhttp();

ajax.onreadystatechange=function(){
if(ajax.readyState==4){
document.getElementById('texto').innerHTML = ajax.responseText;
}
}
ajax.open("GET","consulta.php?norma="+encodeURICom ponent(query),true);
ajax.send(null);
return false;
}


consulta.php

<?php
include('include/conectar.php');

$q = $_GET['norma'];

$consulta = "SELECT lini1, lini2, lini3, lini4, lini5, lini6, lini7, lini8, lini9, lini10, lini11, lini12, lini13, lini14 FROM auxtiponorma WHERE (`idtiponorma` LIKE '%$q%')"; // creo la sentencia sql
$result = mysql_query($consulta);

while ($row = mysql_fetch_array($result)){
echo "<input type='text' class='textbox' id='lini1' name='lini1' value='$row[0]'>";
echo "<input type='text' class='textbox' id='lini2' name='lini2' value='$row[1]'>";
echo "<input type='text' class='textbox' id='lini3' name='lini3' value='$row[2]'>";
echo "<input type='text' class='textbox' id='lini4' name='lini4' value='$row[3]'>";
echo "<input type='text' class='textbox' id='lini5' name='lini5' value='$row[4]'>";
echo "<input type='text' class='textbox' id='lini6' name='lini6' value='$row[5]'>";
echo "<input type='text' class='textbox' id='lini7' name='lini7' value='$row[6]'>";
echo "<input type='text' class='textbox' id='lini8' name='lini8' value='$row[7]'>";
echo "<input type='text' class='textbox' id='lini9' name='lini9' value='$row[8]'>";
echo "<input type='text' class='textbox' id='lini10' name='lini10' value='$row[9]'>";
echo "<input type='text' class='textbox' id='lini11' name='lini11' value='$row[10]'>";
echo "<input type='text' class='textbox' id='lini12' name='lini12' value='$row[11]'>";
echo "<input type='text' class='textbox' id='lini13' name='lini13' value='$row[12]'>";
echo "<input type='text' class='textbox' id='lini14' name='lini14' value='$row[13]'>";
}

@mysql_close($conexion); // cerramos la conexion a la base de datos
?>

index.php
<html>
<head>
<script src="ajax.js" type="text/javascript"></script>
</head>
<body>
<div id="formulario">
<div id="texto"></div><!--aqui muestro los valores traidos desde la consulta en ajax-->
<form>
<div>
<label class="labelcombo" for="tiponorma">Norma Covenin</label>
<select name="tiponorma" id="norma" onchange="ajaxnorma()">
<option value="0">Selecciona </option>
<?php
require('include/conectar.php');
$sql = "SELECT `idtiponorma`, `nombre` FROM auxtiponorma ORDER BY `nombre` ASC";
$result = mysql_query($sql);
$i = 0;
while ($row = mysql_fetch_array($result))
{
echo utf8_encode("<option value=".$row[$i].">".$row['nombre']."</option>\n");
}
?>
</select>
</div>

<div>
<label for="2">2&quot;</label>
<input type="text" id="a1" name="a1" />
<input type="text" id="lisu1" name="lisu1"/>
<input type="text" id="lini1" name="lini1"/>
</div>

<div>
<label for="112">1 1/2&quot;</label>
<input type="text" id="a2" name="a2" />
<input type="text" id="lisu2" name="lisu2"/>
<input type="text" id="lini2" name="lini2"/>
</div>

<!-- y asi sucesivamente hasta llegar a lini14 y lisu14-->

</div>
</body>
</html>

el script funciona perfecto lo que no se hacer es asignarle los valores a los textbox de index.php, disculpen si el codigo esta desordenado o si hay algun error, se que en consulta php puede estar el problema por que le asigno los valores a nuevos textbox y no a los que estan en index, precisamente eso es lo que no logro hacer, si me pueden ayudar se los agradezco o si me facilitan alguna pagina donde explique como trabajar con ajax tambien salu2
  #4 (permalink)  
Antiguo 14/06/2009, 15:44
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Ayuda con select y textbox

Perdon por la tardanza en contestar, para asignar los valores, tu tienes que tener en cuenta que lo que haces es cargar un php dentro de un div, lo que tenes que hacer es con php que se rellenen los datos en el momento que cambias el contenido del div, a ver si eso te va dando pistas :D
  #5 (permalink)  
Antiguo 16/06/2009, 08:33
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con select y textbox

que tal kirasakuya gracias por responder y prestarme el apoyo, podrias darme algun ejemplo de como hacerlo o que me de una idea mas clara de como resolver el lio, se que el problema puede estar en consulta.php porque le indico con los echo que se creen los textbox, hay alguna forma de asignar los valores de los echo a los div de mi html, me podrias facilitar la direccion de una guia o manual que me explique como hacerlo?, salu2 y muchas gracias por el tiempo que te tomas en ayudarme, salu2
  #6 (permalink)  
Antiguo 16/06/2009, 23:49
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Ayuda con select y textbox

http://www.cristalab.com/tutoriales/...ularios-c165l/

De es pagina saque yo la informacion que necesite para aprender manejar un poco ajax, si no entiendes algo no tienes mas que preguntar :) aun asi te hago un resumen.

Defines el objeto ajax (nuevoAjax en la web).
Conenedor es el Div que va a cambiar
ajax.open("GET", "ejemploajax1.html",true); en el parentesis va el metodo y la pagina a abrir.

puedes crear infinidad de funciones con ajax, solo tienes que definir el objeto dentro de ellas y asignar el div que quieres que cambie. Tambien puedes pasar parametros y abrir paginas com si fuera un metodo get con ?var=a&var2=b en la pagina a abrir.

A ver si logramos algo :D
PD: Por favor si algun moderador le esto, que no mueva el enlace ya que solo entro en el foro javascript. Gracias :)
  #7 (permalink)  
Antiguo 18/06/2009, 12:16
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Ayuda con select y textbox

gracias kirasakuya ya estoy leyendo el manual y ya tengo una idea mas clara acerca de lo que hay que hacer, cuando tenga todo armado lo publico, salu2
  #8 (permalink)  
Antiguo 18/06/2009, 23:43
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Ayuda con select y textbox

Cualquier problema avisa :) que para eso estamos ;)
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 11:42.