Foros del Web » Programando para Internet » Javascript »

Como creo un enlace javascript en esta funcion?

Estas en el tema de Como creo un enlace javascript en esta funcion? en el foro de Javascript en Foros del Web. Buen dia foreros, haber si me pueden ayudar : Tengo un select, en php, que muestra unas opciones a partir de otro select...eso que llaman ...
  #1 (permalink)  
Antiguo 09/05/2011, 08:40
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Como creo un enlace javascript en esta funcion?

Buen dia foreros, haber si me pueden ayudar :
Tengo un select, en php, que muestra unas opciones a partir de otro select...eso que llaman combobox dependientes,

todo a traves de una funcion javascript:

Código Javascript:
Ver original
  1. function agroptipdat(tipdat)
  2. {  
  3. var combo = document.getElementById("tipo_elemento").options;
  4. combo.length = null;
  5.  
  6.  
  7.     if (tipdat=='0')
  8.     {
  9.     var seleccionar = new Option("esperando seleccion","","","");
  10.     combo[0] = seleccionar;
  11.     }
  12.  
  13.     if ((tipdat=='1')||(tipdat=='6'))
  14.     {
  15.     var caja_texto = new Option("Caja de texto","1");
  16.    
  17.     combo[0] = caja_texto;
  18.    
  19.    
  20.     }
  21.  
  22.     if ((tipdat=='2')||(tipdat=='3'))
  23.     {
  24.     var caja_texto = new Option("Caja de texto","1");
  25.     var area_texto = new Option("Area de texto","2");
  26.    
  27.     combo[0] = caja_texto;
  28.     combo[1] = area_texto;
  29.    
  30.     }
  31.     if ((tipdat=='4')||(tipdat=='5'))
  32.     {
  33.      var tipo_fecha = new Option("Tipo fecha","3");
  34.    
  35.     combo[0] = tipo_fecha;
  36.  
  37.    
  38.     }
  39.     if (tipdat=='7')
  40.     {
  41.      var campo_calculado = new Option ("Campo calculado","4");
  42.    
  43.     combo[0] = campo_calculado;
  44.    
  45.  
  46.     }
  47.        
  48. }

Como podria dejar que le variable campo_calculado, que se observa en la ultima parte de la función, sea un enlace?......Agradezco la ayuda......
  #2 (permalink)  
Antiguo 09/05/2011, 08:52
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Como creo un enlace javascript en esta funcion?

No estoy seguro de haber entendido, pero me parece que querés que si el usuario selecciona la opción "Campo calculado" en el select entonces éste abra una página? De ser así tenés que usar el evento onChange para el select y llamar a una función en javascript que analice si has seleccionado esa opción y que te diriga a donde corresponda.
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 09/05/2011, 09:11
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Como creo un enlace javascript en esta funcion?

Si he entendido bien lo que necesitas es una función como esta.


function cUrl(u){
top.location=u;
}

y llamarla en la declaracion de tu <select>

<select onchange="cUrl('tupagina.html')">
  #4 (permalink)  
Antiguo 09/05/2011, 09:12
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 2
Mensaje Respuesta: Como creo un enlace javascript en esta funcion?

Si he entendido bien lo que necesitas es una función como esta.


Código:
function cUrl(u){
	top.location=u;
}
y llamarla en la declaracion de tu <select>

Código:
<select onchange="cUrl('tupagina.html')">
  #5 (permalink)  
Antiguo 09/05/2011, 09:13
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como creo un enlace javascript en esta funcion?

exacto....eso es lo que quiero......

este es mi select:

Código PHP:
Ver original
  1. echo "<tr><td bgcolor='#ffffcc'>Tipo de dato</td>";
  2.    echo "<td bgcolor='#ffffcc'></br><select name='tipo' id='tipo' onChange='agroptipdat(this.value)'>
  3.   <option value= '0' >Seleccione</option>
  4.   <option value='1' >Entero</option>
  5.   <option value='2' >Caracter con limite fijo (char)</option>
  6.   <option  value='3' >Caracter sin limite fijo (varchar)</option>
  7.   <option  value='4' >Fecha corta</option>
  8.   <option  value='5' >Fecha larga</option>
  9.   <option  value='6' >Real</option>
  10.   <option  value='7'>Campo calculado</option>
  11.  
  12.   </br></br></td></tr>";

puedo con el mismo evento, crear esa funcionalidad?...o tiene que ser otro evento onchange??
  #6 (permalink)  
Antiguo 09/05/2011, 09:20
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Como creo un enlace javascript en esta funcion?

Calculo que podés usar la función que ya tenés asignada al evento onchange. Probá agregando algo como esto al final:
Código Javascript:
Ver original
  1. if (tipdat == '7'){
  2.         top.location = 'mipagina.html';
  3.     }

Es decir que si el valor pasado al parámetro de la función es del último <option> navegará a la página que le digas.
__________________
nahueljose.com.ar
  #7 (permalink)  
Antiguo 09/05/2011, 09:27
 
Fecha de Ingreso: mayo-2011
Ubicación: Bogota
Mensajes: 18
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Como creo un enlace javascript en esta funcion?

necesariamente con el mismo ya que si agregas otro tendras problemas y posiblemente no llame a ninguna de las funciones...

lo q debes hacer es agregar en tu función javascript un if para que redireccione a donde quieres.
EJ:
Código:
function agroptipdat(tipdat){   
var combo = document.getElementById("tipo_elemento").options;
combo.length = null;
  
    if (tipdat=='0'){
    var seleccionar = new Option("esperando seleccion","","","");
    combo[0] = seleccionar;
    }
 
    if ((tipdat=='1')||(tipdat=='6')){
    var caja_texto = new Option("Caja de texto","1");    
    combo[0] = caja_texto;    
    }
 
    if ((tipdat=='2')||(tipdat=='3')){
    var caja_texto = new Option("Caja de texto","1");
    var area_texto = new Option("Area de texto","2");    
    combo[0] = caja_texto;
    combo[1] = area_texto;    
    }
    if ((tipdat=='4')||(tipdat=='5')){
     var tipo_fecha = new Option("Tipo fecha","3");    
    combo[0] = tipo_fecha;    
    }
    if (tipdat=='7'){
     var campo_calculado = new Option ("Campo calculado","4");    
    combo[0] = campo_calculado;  
    }
    if (tipdat=='8'){
        top.location = 'mipagina.html';
    }
        
}
y en tu PHP
Código:
echo "<tr><td bgcolor='#ffffcc'>Tipo de dato</td>";
   echo "<td bgcolor='#ffffcc'></br><select name='tipo' id='tipo' onChange='agroptipdat(this.value)'>
   <option value= '0' >Seleccione</option>
   <option value='1' >Entero</option>
   <option value='2' >Caracter con limite fijo (char)</option>
   <option  value='3' >Caracter sin limite fijo (varchar)</option>
   <option  value='4' >Fecha corta</option>
   <option  value='5' >Fecha larga</option>
   <option  value='6' >Real</option>
   <option  value='7'>Campo calculado</option>
   <option  value='8'>Ir a Pagina</option>
  
   </br></br></td></tr>";
  #8 (permalink)  
Antiguo 09/05/2011, 09:39
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como creo un enlace javascript en esta funcion?

Okk bien, perooo ahora me surge un nuev problema.....estoy usando funciones en ajax para pasar parametros entre las paginas......ahi viene el problema......el me podra redireccionar a otra pagina...pero como hago para pasar los parametros??

Por ejemplo con la siguiente funcion, paso parametros a una pagina que se abre como un facebox

Código Javascript:
Ver original
  1. function face_camp1_var1(pag,nom1,nom2,c1,var1){
  2.     var campo_a = document.getElementById(c1).value;
  3.     var aj=nuevoAjax();
  4.     aj.open("POST", pag, true);
  5.     aj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  6.     aj.setRequestHeader("Accept-Charset", "UTF-8");
  7.     aj.send(nom1+"="+campo_a+"&"+nom2+"="+var1);
  8.     aj.onreadystatechange=function(){
  9.        if (aj.readyState==4){
  10.           jQuery.facebox(aj.responseText);
  11.        }
  12.     }    
  13. }

Y esos parametros los paso en los enlaces, si tengo mi funciono en ajax, y el enlace con javascript: como puedo usar mi funcion ajax dentro del javascript?...practicamente usar una funcion javascript dentro de otra??
  #9 (permalink)  
Antiguo 09/05/2011, 09:48
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Como creo un enlace javascript en esta funcion?

iNTENTO ASI y jumm nada:
Código Javascript:
Ver original
  1. if (tipdat=='7'){
  2.    
  3.     pag='diseforhc.php';
  4.     nom1='nomcam';
  5.     nom2='opcion'
  6.     c1='campo';
  7.     var1='16';
  8.         location = face_camp1_var1(pag,nom1,nom2,c1,var1);
  9.     }
y tambien con el top.localtion, pero en ambos casos me envia a algo que no existe.....
una pagina undefinided

Etiquetas: enlace, funcion
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 13:59.