Foros del Web » Programando para Internet » Javascript »

Mejorar o Corregir

Estas en el tema de Mejorar o Corregir en el foro de Javascript en Foros del Web. Hola a todos, tengo el siguiente codigo que trato de utilizar para restringir links, me funciona, solo que al momento de dar click en el ...
  #1 (permalink)  
Antiguo 13/04/2011, 12:08
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Mejorar o Corregir

Hola a todos, tengo el siguiente codigo que trato de utilizar para restringir links, me funciona, solo que al momento de dar click en el href y direccionarme a la pagina despues de la validacion, en el internet explorer en la parte inferior izquierda me envia una alerta que no alcanzo a ver, el codigo es el siguiente (solo estoy posteando el codigo necesario las etiquetas que faltan si las tengo htm,body, etc.):


<script type="text/javascript">
function valida(param, nodo){

switch(nodo){

case 'vta_area':
if(param.indexOf('D') >= 0){
alert('Ventas por Area');
document.getElementById(nodo).setAttribute('href', 'ventas.php');
}else{
alert('Sin derechos para esta Opcion');
}
break;

case 'vta_glob':
if(param.indexOf('C') >= 0){
alert('Ventas Global');
document.getElementById(nodo).setAttribute('href', 'ventas_global.php');
}else{
alert('Sin derechos para esta Opcion');
}
break;

}
}
</script>

</head>

<body>
<?php
$valor="'ABC'";
?>
<a id="vta_area" href="#" onclick="javascript:valida(<?php echo $valor; ?>, this.id)">Ventas x Area</a>
<a id="vta_glob" href="#" onclick="javascript:valida(<?php echo $valor; ?>, this.id)">Ventas Global</a>
</body>
</html>

gracias anticipadas
  #2 (permalink)  
Antiguo 13/04/2011, 13:38
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Mejorar o Corregir

como no veía el problema, lo he probado en ie8 y funciona.
  #3 (permalink)  
Antiguo 13/04/2011, 18:57
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Mejorar o Corregir

Cita:
Iniciado por IsaBelM Ver Mensaje
como no veía el problema, lo he probado en ie8 y funciona.
En efecto funciona, pero lo que yo queria era ver si se puede mejorar o porque lanza el triangulo amarillo en la parte inferior izquierda antes de lanzar la pagina de la opcion seleccionada, como cuando te dice que tiene errores la pagina.
  #4 (permalink)  
Antiguo 14/04/2011, 05:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Mejorar o Corregir

si únicamente tienes ese código en la página, ie no levanta ningún error. en cuanto a mejorarlo, yo lo haría así
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TITULO</title>
<style type="text/css">
form input {
border-width: 0;
background-color: #FFF;
color: red;
cursor: pointer;
}

form input:hover {
text-decoration: underline;
}
</style>

<script type="text/javascript">
function evt (elemento,nomevento,funcion) {
if (elemento.attachEvent)
{
var fnc=function(){
funcion.call(elemento,window.event);
}
elemento.attachEvent('on'+nomevento,fnc);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,false) ;
return true;
}
else
return false;
}


function init() {
for(var i = 0, control = document.getElementsByTagName('input'); i < control.length; i++)
evt(control[i], 'click', function () {valida('ABC', this.id);});
}


evt(window, 'load', init);

function valida(param, nodo){

switch(nodo){

case 'vta_area':
if(param.indexOf('D') == -1){
alert('Sin derechos para esta Opcion');
}else{
alert('Ventas por Area');
window.location.href = 'ventas.php';
//document.getElementById(nodo).setAttribute('href', 'ventas.php');
}
break;

case 'vta_glob':
if(param.indexOf('C') == -1){
alert('Sin derechos para esta Opcion');
}else{
alert('Ventas Global');
window.location.href = 'ventas_global.php';
//document.getElementById(nodo).setAttribute('href', 'ventas_global.php');
}
break;

}
}
</script>

</head>

<body>
<form>
<input type="button" value="Ventas x Area" id="vta_area" />
<input type="button" value="Ventas Global" id="vta_glob" />
<form>
</body>
si no entiendes algo, pregunta
  #5 (permalink)  
Antiguo 14/04/2011, 07:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Mejorar o Corregir

Cita:
Iniciado por IsaBelM Ver Mensaje
si únicamente tienes ese código en la página, ie no levanta ningún error. en cuanto a mejorarlo, yo lo haría así

si no entiendes algo, pregunta
Ok IsaBelM

Ya entendi o eso creo tu me sugieres que utilize botones, esto me imagiono para que se vea mas elegante??

Te agradezco, pero se me olvido comentar que ya tengo un menu hecho con css el cual utiliza los href.

De cualquier manera muchas gracias ahora estoy con otro tema se sessiones, pero creo que ese tema lo tengo que postear en php

Saludos

Etiquetas: corregir, mejorar
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 12:34.