Foros del Web » Programando para Internet » Javascript »

ayuda con base de datos

Estas en el tema de ayuda con base de datos en el foro de Javascript en Foros del Web. tengo tres text box uno donde esta el codigo, otro esta la cantidad y el otro esta la descripcion. ya tengo el script hecho para ...
  #1 (permalink)  
Antiguo 13/11/2008, 08:09
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
ayuda con base de datos

tengo tres text box uno donde esta el codigo, otro esta la cantidad y el otro esta la descripcion. ya tengo el script hecho para que al digitar el codigo y al salirme del textbox me salga en una peqeña ventana la descipcion y me la ponga en el respectivo textbox. peeeeeeeeeeeeeeeeeero:

tengo otra funcion de javascript que al darle clic en un boton me agregue mas textbox, por ejemplo:
tengo por defecto el cod_0 cant_0 y desc_0
al darle en el boton me aparece otros tres textbox los cuales son:
cod_1 can_1 y desc_1

por eso no hay problema, el problema es que no se como hacer que ese cod_1 tambien tenga la propiedad de traer el nombre al campo desc_1.
lo que pasa es que no se comollevar dinamicamente eso. ya que ellos se crean dinamicamente.

gracias por la ayuda que me puedan prestar.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 13/11/2008, 09:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Depende, ¿de dónde sale esa descripción? ¿tienes una función para mostrar esa descripción?. En ese caso puedes hacer que esa función reciba como parámetro el input text del cual mostrar la descripción y trabajar de acuerdo a eso.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 13/11/2008, 12:34
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

mira donde estoy tratando de mandar ese atributo es en la funcion donde se crea el textbox:
Código HTML:
if (document.all)
{ // what follows should work 
// with NN6 but doesn't in M14
//uno
input1.type = fieldType;
input1.name = 'cod_med_'+i;
input1.value = '';
input1.setAttribute('onBlur', 'ventanaempresa(cod_med_1, desc_med_1)');
//input1.onBlur= 'ventanaempresa("cod_med_1", "desc_med_1")';
//dos
input2.type = fieldType;
input2.name = 'can_med_'+i;
input2.value = '';
//tres
input3.type = fieldType;
input3.name = 'desc_med_'+i;
input3.value = '';
i=i+1;
}
else if (document.getElementById)
{ 
//uno
input1.setAttribute('type', fieldType);
input1.setAttribute('name', 'cod_med_'+i);
input1.setAttribute('value', '');
input1.setAttribute('onBlur', 'ventanaempresa(cod_med_1, desc_med_1)');
//dos
input2.setAttribute('type', fieldType);
input2.setAttribute('name', 'can_med_'+i);
input2.setAttribute('value', '');
//tres
input3.setAttribute('type', fieldType);
input3.setAttribute('name', 'desc_med_'+i);
input3.setAttribute('value', '');
i=i+1;
}

input1.style.width="50px";
input2.style.width="50px";
input3.style.width="190px";
div.appendChild(input1);
div.appendChild(input2);
div.appendChild(input3);
document.getElementById('ficheros').appendChild(div);
}
}
en los textos:
input1.setAttribute('onBlur', 'ventanaempresa(cod_med_1, desc_med_1)');
es donde trato de ponerle al textbox que vaya a la funcion ventanaempresa y le mando los atributos pero cuando le escribo un valor y me salgo de la caja de textos (evento onBlur) no hace nada.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 13/11/2008, 12:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Prueba asignando así el evento:
Código javascript:
Ver original
  1. input1.onblur = function() { ventanaempresa("cod_med_1", "desc_med_1") }
Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/11/2008, 15:11
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

no men no me cuadra, le pongo este:
input1.onBlur = alert("Entra 1");
como para ver si me entra a la funcion pero mi sorpresa es que al darle clic al boton para que se me haga el input1, me sale la alerta.
me entendiste?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 13/11/2008, 15:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: ayuda con base de datos

Pero no has puesto como te dije yo :
Código javascript:
Ver original
  1. input1.onblur = function() { alert("Entra 1") }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 13/11/2008, 15:30
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

:o jefe funciono perfecto pero ahora quiero es hacer esto:
Código javascript:
Ver original
  1. input1.onblur = function() {
  2. var org = document.getElementById('cod_med_'+i).value;
  3. //document.write("origen=" + origen + " - destino=" + destino + " - valor=" + org);
  4. var vn = window.open('consulta.php?origen=cod_med_' + i + '&destino=desc_med_' + i +'&valor=' + org,'resultado','left=300 top=300 width=400,height=200 scrollbars=no, status=yes');
  5. vn.variableNoExiste = document.getElementById(origen).value;
  6. }
si entiendes lo que quiero hacer???
lo que quiero es que me abra otra ventana con unos valores via get.
pero al ejecutar eso me aparece quisque error en la pagina y el error es:
"Se requiere un objeto"
que me hace falta????
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #8 (permalink)  
Antiguo 13/11/2008, 15:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

¿De dónde estás obteniendo el valor de la variable i y de la variable origen?. Además, ¿no será más fácil que desde la página abierta con window.open obtengas el valor del elemento en la ventana padre (opener) que desde ésta enviar el valor?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 13/11/2008, 15:40
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

es que no se como hacerlo men, ademas la variable i esta en la funcion grande que es la encargada de hacer los textbox, ademas le quite la i para no hacerlo dinamico sino con el nombre que crearia y tampoco, se lo dejo con 0 variables y tampoco funciona, me puedes ayudar en lo del metodo opner?? tengo entendido que es la ventana donde estoy. la que abre es la open.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #10 (permalink)  
Antiguo 13/11/2008, 20:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Si abres una ventana con window.open, desde esa ventana abierta puedes acceder a la ventana padre con opener.document u opener.variable, depende del caso.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 14/11/2008, 06:54
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

y en este caso se puede? por ejemplo lo que yo necesito es cojer el valor que haya en "cod_med_"+i por que como esos textbox se crean dinamicamente entoncespongo la i depende de las veces que entra a esa funcion y tomar tambien el valor de ahi. voi a hacer algunas volteretas en el codigo y si algo les comento como me fue
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #12 (permalink)  
Antiguo 14/11/2008, 07:24
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

por que cuando creo esta variable en la funcion me dice que se requiere un objeto:
var org = document.getElementById('cod_med_1').value;
otra cosa esta funcion del onBlur esta dentro de otra funcion que tiene una variable "i" como hago para referirme a ella???
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #13 (permalink)  
Antiguo 14/11/2008, 07:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Lo más probable es que no tengas un elemento dentro de tu HTML que tenga ese id que estás especificando. Lo del i no entendí muy bien, deberías poder referenciarla normalmente dependiendo del alcance que tenga la variable.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 14/11/2008, 07:54
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

en el javascript hicce dinamicamente el textbox con name="cod_med_"+i
es decir: name="cod_med_1" ya que i tomaria 1 cuando entra a la funcion. de crearla luego de eso hago la funcion que me dijiste
input1.onblur = function() {
var org = document.getElementById('cod_med_'+i).value;
window.open('consulta.php?origen=cod_med_1&des tino=desc_med_1&valor=' + org,'resultado','left=300 top=300 width=400,height=200 scrollbars=no, status=yes');
}
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #15 (permalink)  
Antiguo 14/11/2008, 07:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Ojo, el atributo name no es lo mismo que el atributo id, getElementById.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 14/11/2008, 08:03
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

pero en el otro texbox, el que no se genera dinamicamente sino el que pongo por defecto esta asi. con name y no con id. otra cosa. en el textbox que tengo por defecto si me sirve el codigo como ya lo he dicho antes. es este:

html:
<input name="cod_med_0" type="text" style="position:absolute; width:50px; top:53px; left:0px;" onBlur="ventanaempresa('cod_med_0','desc_med_0')">
luego:
function ventanaempresa(origen, destino)
{
var org = document.getElementById(origen).value;
//document.write("origen=" + origen + " - destino=" + destino + " - valor=" + org);
var vn = window.open('consulta.php?origen=' + origen + '&amp;destino=' + destino + '&amp;valor=' + org,'resultado','left=300 top=300 width=400,height=200 scrollbars=no, status=yes');
vn.variableNoExiste = document.getElementById(origen).value;
}

que tal si cuadno estoi generando dinamicamente el textbox hago algo asi:

input1.onBlur = ventanaempresa('cod_med_'+i, 'desc_med_'+i);

me hago entender???
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #17 (permalink)  
Antiguo 14/11/2008, 08:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con base de datos

Hazme caso, solo Internet Explorer confunde el name con id, cualquier navegador decente no aceptará eso.

Además, en este caso no veo necesario usar parámetros ya que no más estás haciendo referencia al mismo objeto, o sea puedes usar this o this.id.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 14/11/2008, 08:32
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

compa gracias por yu ayuda, asi me qeudo y me sirvio:

input1.onblur = function() {
var y = i-1;
var org = document.getElementById('cod_med_'+y).value;
//document.write("origen=" + origen + " - destino=" + destino + " - valor=" + org);
var vn = window.open('consulta.php?origen=cod_med_' + y + '&amp;destino=desc_med_' + y + '&amp;valor=' + org,'resultado','left=300 top=300 width=400,height=200 scrollbars=no, status=yes');
vn.variableNoExiste = document.getElementById('cod_med_1').value;
}

pero ahora hay un problema si ves la variable get que mando se llama destino. el la lee muy bien, me hace la consulta. me coje todos los valores. pero el problema es que en la pagina consulta.php no me devuelve ese valor al textbox con id desc_med_1
en cambio a la desc_med_0 si, ya que es la por defecto. ya casi lo logramos david ayudamee!!!
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #19 (permalink)  
Antiguo 14/11/2008, 08:41
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: ayuda con base de datos

lsito men segui tu recomendacion y le puse id a los texbox y se me arreglo, aprendi hoy que IE es el unico navegador que confunde id con name y a la misma ves genera errores.

te amo FIREFOX!!!
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
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 15:49.