Foros del Web » Programando para Internet » Javascript »

Ayuda_JavaScript

Estas en el tema de Ayuda_JavaScript en el foro de Javascript en Foros del Web. Hola Foros del Web, espero que se encuentren bien, paso a explicarles en que consiste mi problema:Tengo un formulario en el cual tengo un apartado ...
  #1 (permalink)  
Antiguo 14/08/2010, 17:45
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Ayuda_JavaScript

Hola Foros del Web, espero que se encuentren bien, paso a explicarles en que consiste mi problema:Tengo un formulario en el cual tengo un apartado llamado Modo de Pago.Este tiene a su costado dos Listas Desplegables y una Etiqueta llamada Serie/Codigo y una caja de texto .. En la primera Lista me muestra
5 opciones:Efectivo,Credito,Tarjeta,Cheque,Deposito; en la segunda Lista me muestra 3 opciones:Visa,MasterCard,Saga Falabella.

Ahora,quiero hacer lo siguiente:Cuando seleccione la opcion Credito y Deposito,quiero q la etiqueta Serie/Codigo y su caja de texto desaparezcan..
Ademas,cuando seleccione la opcion Efectivo,quiero q la primera Lista Desplegable no me muestre su contenido..Como hago todo esto???

Aca les dejo el siguiente codigo:
Codigo JavaScript
function modopago(){//metodo q me controla las listas desplegables

id_tipo_pago=document.getElementById('id_tipo_pago ').value;
if(id_tipo_pago==1)//esto se hace cuando se escoge la opcion Efectivo
{
document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;
document.getElementById('nombre_codigo').text
}
else if(id_tipo_pago==2)//esto se hace cuando se escoge la opcion Credito
{ document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;

}
else if(id_tipo_pago==3)//esto se hace cuando se escoge la opcion Tarjeta
{ document.getElementById('id_tarjeta').disabled = false;
document.getElementById('codigo').disabled = false;
}
else if(id_tipo_pago==4)//esto se hace cuando se escoge la opcion Cheque
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;
}
else //esto se hace cuando se escoge la opcion Deposito
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;

}

Ahora,el codigo de la parte del formulario(HTML):

<tr>
<td class="ewTableHeader">Modo de Pago : </td>
<td colspan="3"><select onChange="modopago()" id="id_tipo_pago"><?php foreach($array_tipo_pago as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>

<select id="id_tarjeta"><?php foreach($array_tarjeta as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>
<label for="codigo">Serie/Codigo : </label>
<input type="text" id="codigo" name="codigo" size="8">
</td>
</tr>

Espero q me puedan ayudar.
  #2 (permalink)  
Antiguo 14/08/2010, 18:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Ayuda_JavaScript

document.getElementById('nombre_codigo').text "text" no es una propiedad ni función, si es un input seria value, si es una capa seria innerHTML, además la linea esta incompleta, donde está el ;?, y que precisamente debes hacer ahí?????

generalmente para IE, debes declarar las variables en javascript:
var id_tipo_pago=document.getElementById('id_tipo_pago ').value;
  #3 (permalink)  
Antiguo 14/08/2010, 18:45
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda_JavaScript

Ok,tienes razon,el codigo seria asi ps.
Codigo JavaScript
function modopago(){//metodo q me controla las listas desplegables

var id_tipo_pago=document.getElementById('id_tipo_pago ').value;
if(id_tipo_pago==1)//esto se hace cuando se escoge la opcion Efectivo
{
document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;

}
else if(id_tipo_pago==2)//esto se hace cuando se escoge la opcion Credito
{ document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;

}
else if(id_tipo_pago==3)//esto se hace cuando se escoge la opcion Tarjeta
{ document.getElementById('id_tarjeta').disabled = false;
document.getElementById('codigo').disabled = false;
}
else if(id_tipo_pago==4)//esto se hace cuando se escoge la opcion Cheque
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;
}
else //esto se hace cuando se escoge la opcion Deposito
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;

}

Ahora,el codigo de la parte del formulario(HTML):

<tr>
<td class="ewTableHeader">Modo de Pago : </td>
<td colspan="3"><select onChange="modopago()" id="id_tipo_pago"><?php foreach($array_tipo_pago as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>

<select id="id_tarjeta"><?php foreach($array_tarjeta as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>
<label for="codigo">Serie/Codigo : </label>
<input type="text" id="codigo" name="codigo" size="8">
</td>
</tr>

maycolalvarez,ayudame en mi problema por favor.que es el sgte:
Cuando seleccione la opcion Credito y Deposito,quiero q la etiqueta Serie/Codigo y su caja de texto desaparezcan..
Ademas,cuando seleccione la opcion Efectivo,quiero q la primera Lista Desplegable no me muestre su contenido..

Te lo agradeceria bastante.
  #4 (permalink)  
Antiguo 14/08/2010, 19:00
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Ayuda_JavaScript

si lo que quieres es que se oculten:

document.getElementById('inputxxx').style.display= 'none';

que se muestren:

document.getElementById('inputxxx').style.display= ''; //o 'inline' o 'block', según el caso
  #5 (permalink)  
Antiguo 14/08/2010, 19:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda_JavaScript

Gracias maycolalvarez,con document.getElementById('codigo').style.display = 'none'; si se ocultan, pero,ahora el problema es que cuando coloco esa linea,por ejemplo en la siguiente parte de codigo:
else if(id_tipo_pago==2)
{
document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;
document.getElementById('codigo').style.display = 'none';

}
en vez de ocultarse la etiqueta Serie/Codigo y su caja de texto cuando escogo la opcion 2(Credito) como debe de ser,se oculta para todas las opciones,es decir,cuando escogo Efectivo,Tarjeta,Cheque,Deposito,abuu,que debo de hacer en este caso. Yo solo quiero q se oculten la etiqueta Serie/Codigo y su caja de texto solo para la opcion Credito y Deposito abuu.Help Me Please

Te vuelvo a colocar todo el codigo ok.
Codigo JavaScript
function modopago(){//metodo q me controla las listas desplegables

var id_tipo_pago=document.getElementById('id_tipo_pago ').value;
if(id_tipo_pago==1)//esto se hace cuando se escoge la opcion Efectivo
{
document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;

}
else if(id_tipo_pago==2)
{
document.getElementById('id_tarjeta').disabled = true;
document.getElementById('codigo').disabled = false;
document.getElementById('codigo').style.display = 'none';

}
else if(id_tipo_pago==3)//esto se hace cuando se escoge la opcion Tarjeta
{ document.getElementById('id_tarjeta').disabled = false;
document.getElementById('codigo').disabled = false;
}
else if(id_tipo_pago==4)//esto se hace cuando se escoge la opcion Cheque
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;
}
else //esto se hace cuando se escoge la opcion Deposito
{
document.getElementById('id_tarjeta').disabled= true;
document.getElementById('codigo').disabled= false;

}

Ahora,el codigo de la parte del formulario(HTML):

<tr>
<td class="ewTableHeader">Modo de Pago : </td>
<td colspan="3"><select onChange="modopago()" id="id_tipo_pago"><?php foreach($array_tipo_pago as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>

<select id="id_tarjeta"><?php foreach($array_tarjeta as $a): ?>
<option value="<?php echo $a['id']?>"><?php echo $a['nombre']?></option>
<?php endforeach; ?></select>
<label for="codigo">Serie/Codigo : </label>
<input type="text" id="codigo" name="codigo" size="8">
</td>
</tr>
  #6 (permalink)  
Antiguo 15/08/2010, 09:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Ayuda_JavaScript

como notarás getElementById solo selecciona un (1) nodo no 2, por lo tanto al aplicarle style.display='none', se ocultará él y sus hijos y en este caso es el input el que tiene el id="codigo" y no el label, por lo tanto el label no se ocultará

además el objetivo del tag label es anidar el input al cual asocia:
Código HTML:
Ver original
  1. <label id="codigo_label">
  2. Serie/Codigo : <input type="text" id="codigo" name="codigo" size="8">
en ese caso no hace falta definir el atributo FOR, y usarias el id asignado al label para ocultarlos a ambos:

document.getElementById('codigo_label').style.display = 'none';

y como el input está dentro (es hijo) del label, ambos se ocultarán
  #7 (permalink)  
Antiguo 16/08/2010, 12:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda_JavaScript

Holas, alguie sabe como puedo hacer un slide de imagenes como en esta web: http://www.carsa.com.pe, pero sin flash.

Agradecería mucho que me ayuden :)

Etiquetas: Ninguno
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 01:14.