Imprimir página siguiente con Java Script

Hola Carlos! Volviendo al tema de la navegacion FIRST PAGE | PREVIOUS PAGE etc... Funciona de maravillas y no hubiese quedado mejor. Solo que cuando estoy en la Ultima página y se pulsa NEXT PAGE, sale error:
Not Found
The requested URL /ARMS/undefined was not found on this server.
EL código que me diste hace unos días es el siguiente y está funcionando perfecto si no fuera por este pequeñisimo inconveniente.
Cómo fijar el código de manera tal que en vez de marcar ese error, se vaya a la primera página arm001.html ?? Por lo demás todos los botones funcionan a la perfección.
Un saludo cordial desde Lima, y gracias por tu profeional consejo
EL código: HTML:
</head>
<body onload="init();MM_preloadImages('../images/icons/arrowFirst_d.gif')">
<div id="div_header">
<div class="navBar">
<p><a href="#" onmouseover="return overlib('ARMS: Afiliate Risk Management Services, Inc.', WIDTH, 120,FGCOLOR,'#FFFFE7',BGCOLOR, '#8E95B3');" onmouseout="return nd();"><img src="../images/arms-logo.jpg" alt="2" width="80" height="43" class="move_logo"></a>
<a class="linkNavegacion" id="FirstPage" href="javascript:first()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image12','','../images/icons/arrowFirst_d.gif',1)"><img src="../images/icons/arrowFirst.gif" alt="First Page" name="Image12" width="25" height="20" class="icon"></a>
    <a class="linkNavegacion" id="PreviousPage" href="javascript:previous()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image13','','../images/icons/arrowPrev_d.gif',1)"><img src="../images/icons/arrowPrev.gif" alt="Previous Page" name="Image13" width="25" height="20" class="icon"></a>
    <a class="linkNavegacion" id="NextPage" href="javascript:next()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image14','','../images/icons/arrowNext_d.gif',1)"><img src="../images/icons/arrowNext.gif" alt="Next Page" name="Image14" width="25" height="20" class="icon"></a>
    <a class="linkNavegacion" id="LastPage" href="javascript:last()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image15','','../images/icons/arrowLast_d.gif',1)"><img src="../images/icons/arrowLast.gif" alt="Last Page" name="Image15" width="25" height="20" class="icon"></a> |
  <a class="linkNavegacion" id="linkImprimir" href="javascript:imprimir()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image16','','../images/icons/print_d.gif',1)"><img src="../images/icons/print.gif" alt="Print Page" name="Image16" width="25" height="28" class="icon"></a>
  <a href="../pdf/arms.pdf" onmouseover="return overlib('View PDF on Screen', WIDTH, 120,FGCOLOR,'#FFFFE7',BGCOLOR, '#8E95B3');" onmouseout="return nd();"><img src="../images/icons/pdf_d.gif" alt="Download PDF" width="25" height="28" class="icon"></a></p>
<p class="spanPaginaActual"><span id="spanPaginaActual"></span></p>
</div>
</div>
<div id="div_content"><!-- TemplateBeginEditable name="imgBG" -->
  <iframe id="iframeContenido" name="iframeContenido" height="1114" width="100%" frameborder="0" scrolling="no"></iframe>
<!-- TemplateEndEditable --></div>
<div id="footer">
<p><a class="linkNavegacion" id="linkPrimera" href="javascript:first()"> <img src="../images/icons/arrowFirst_d.gif" alt="First Page" width="25" height="20" class="icon"></a>
    <a class="linkNavegacion" id="linkAnterior" href="javascript:previous()"> <img src="../images/icons/arrowPrev_d.gif" alt="Back Page" width="25" height="20" class="icon"></a>
<a class="linkNavegacion" id="linkSiguiente" href="javascript:next()"> <img src="../images/icons/arrowNext_d.gif" alt="Next Page" width="25" height="20" class="icon"></a>
    <a class="linkNavegacion" id="linkUltima" href="javascript:last()"> <img src="../images/icons/arrowLast_d.gif" alt="Last Page" width="25" height="20" class="icon"></a>
    <a href="../printThisPDF.html" target="iframeContenido" onmouseover="return overlib('Download PDF for Print', WIDTH, 110,FGCOLOR,'#FFFFE7',BGCOLOR, '#8E95B3',OFFSETY, -10);" onmouseout="return nd();"><img src="../images/icons/pdf.sm.gif" alt="Download PDF for Print" width="20" height="19" class="icon"></a>
  </p>
</div>
</body>
EL código: Java Script:
---
var NUM_PAGINAS = 33;
var paginaActual;
var paginas;
function init(){
paginas = new Array(NUM_PAGINAS);
paginaActual=0;
var temp;
//Inicialización del array de páginas
for (ix=0; ix
<paginas.length; ix++){
temp = "" + (ix +1);
while (temp.length < 3){
temp = "0" + temp;
}
paginas[ix] = "arms" + temp + ".html";
}
actualizaIframeContenido();
}
function actualizaIframeContenido(){
actualizaLinks();
document.getElementById("iframeContenido").src = paginas[paginaActual];
}
function actualizaLinks(){
document.getElementById("FirstPage").className = "linkNavegacion";
document.getElementById("PreviousPage").className = "linkNavegacion";
document.getElementById("NextPage").className = "linkNavegacion";
document.getElementById("LastPage").className = "linkNavegacion";
if (paginaActual == 0){
document.getElementById("linkPrimera").className = "linkNavegacionDisabled";
document.getElementById("linkAnterior").className = "linkNavegacionDisabled";
}
else if (paginaActual == (NUM_PAGINAS-1)){
document.getElementById("linkSiguiente").className = "linkNavegacionDisabled";
document.getElementById("LastPage").className = "linkNavegacionDisabled";
}
document.getElementById("spanPaginaActual").innerHTML =...

1 Respuesta

Respuesta
1
El script que te pasé tenía un código para deshabilitar los botones de "siguiente" y "ultimo" si se llegaba al final, para que no pasase lo que te ha pasado.
Por lo que veo, has metido nuevos links de navegación, como "NextPage", "LastPage", etc. No entiendo la duplicidad de botones. Si metes mas botones, tienes que controlar el habilitarlos y deshabilitarlos en la función "actualizaLinks()", que por otra parte, veo que has tocado, pero a medias. Modificala y por esto para que actualice todos los botones:
function actualizaLinks(){ 
document.getElementById("FirstPage").className = "linkNavegacion"; 
document.getElementById("PreviousPage").className = "linkNavegacion"; 
document.getElementById("NextPage").className = "linkNavegacion"; 
document.getElementById("LastPage").className = "linkNavegacion"; 
document.getElementById("linkPrimera").className = "linkNavegacion"; 
document.getElementById("linkAnterior").className = "linkNavegacion"; 
document.getElementById("linkSiguiente").className = "linkNavegacion"; 
document.getElementById("linkUltima").className = "linkNavegacion";
if (paginaActual == 0){ 
document.getElementById("linkPrimera").className = "linkNavegacionDisabled"; 
document.getElementById("linkAnterior").className = "linkNavegacionDisabled"; 
document.getElementById("FirstPage").className = "linkNavegacionDisabled"; 
document.getElementById("PreviousPage").className = "linkNavegacionDisabled";

else if (paginaActual == (NUM_PAGINAS-1)){ 
document.getElementById("linkSiguiente").className = "linkNavegacionDisabled"; 
document.getElementById("linkUltima").className = "linkNavegacionDisabled";
document.getElementById("NextPage").className = "linkNavegacionDisabled"; 
document.getElementById("LastPage").className = "linkNavegacionDisabled"; 

document.getElementById("spanPaginaActual").innerHTML = paginas[paginaActual]; 
}
Así te funcionará para tus botones nuevos y los que te puse yo.
Los botones de la parte superior son los mismos que los de la parte inferior solo que Abajo quité los botones de PRINT y mostrar el PDF.
Solo por cuiestiones de idioma, cambié:
document.getElementById("linkPrimera").className = "linkNavegacion";
por:
document.getElementById("linkPrimera").className = "linkNavegacion";
Las funciones en sí son las mismas y están actualizadas en los botones.
Todo funciona ok, el único problema es que cuando se está en la "última página" y se pulsa el botón "siguiente" sale el mensaje:
"Not Found
The requested URL /ARMS/undefined was not found on this server."
Se podría hacer que cuando uno esté en la "última página" te regrese "al inicio" ?
De antemano muchas gracias.
Como te dije, el botón siguiente no se debe habilitar si está en la última página. Yo te lo dejé preparado para que funcionase correctamente. El problema es que has metido botones nuevos con nuevos id's, que no estabas actualizando el estado al cambiar de página. Si sustituyes el script que tienes por el que te acabo de pasar, se deberían actualizar todos los botones.
Si quieres el efecto "carrusel", es decir, que cuando llegue a la última vuelva a empezar, tendrás que sustituir tus funciones actuales por estas:
function actualizaIframeContenido(){ 
document.getElementById("iframeContenido").src = paginas[paginaActual]; 

function first(){ 
paginaActual = 0; 
actualizaIframeContenido(); 

function next(){ 
if (paginaActual>=NUM_PAGINAS){
paginaActual=0;
}
else{ 
paginaActual++; 
}
actualizaIframeContenido(); 

function previous(){ 
if (paginaActual<=0){
paginaActual = NUM_PAGINAS -1;
}
else{ 
paginaActual--; 
}
actualizaIframeContenido(); 

function last(){ 
paginaActual = NUM_PAGINAS -1; 
actualizaIframeContenido(); 
}
Ya no se llama a actualizaLinks().
He actualizado cuidadosamente los cpodigos que me has dado, pero SIEMPRE cuando estoy en la ULTIMA página y doy NEXT, me sale el mensaje:
"Not Found
The requested URL /ARMS/undefined was not found on this server."
En general los links funcionan bien, y eso es lo bueno de todo, desde desde antes de cambiar el codigo con términos en inglés como "FirstPage" etc etc,
document.getElementById("FirstPage").className = "linkNavegacion";
siempre he atualizado los botones.
Ese no ha sido mi problem solo que quisiera que se regrese al inicio desde el Final.
El codigo esta asi en este momento y sigue sin regresar al inicio.
---------------------------------------------------------------------------------------------
var NUM_PAGINAS = 33;
var paginaActual;
var paginas;
function init(){
paginas = new Array(NUM_PAGINAS);
paginaActual=0;
var temp;
//Inicialización del array de páginas
for (ix=0; ix
<paginas.length; ix++){
temp = "" + (ix +1);
while (temp.length < 3){
temp = "0" + temp;
}
paginas[ix] = "arms" + temp + ".html";
}
actualizaIframeContenido();
}
function actualizaIframeContenido(){
document.getElementById("iframeContenido").src = paginas[paginaActual];
}
function actualizaLinks(){
document.getElementById("FirstPage").className = "linkNavegacion";
document.getElementById("PreviousPage").className = "linkNavegacion";
document.getElementById("NextPage").className = "linkNavegacion";
document.getElementById("LastPage").className = "linkNavegacion";
if (paginaActual == 0){
document.getElementById("linkPrimera").className = "linkNavegacion";
document.getElementById("linkAnterior").className = "linkNavegacion";
}
else if (paginaActual == (NUM_PAGINAS-1)){
document.getElementById("linkSiguiente").className = "linkNavegacion";
document.getElementById("LastPage").className = "linkNavegacion";
}
document.getElementById("spanPaginaActual").innerHTML = paginas[paginaActual];
}
function first(){
paginaActual = 0;
actualizaIframeContenido();
}
function next(){
if (paginaActual>=NUM_PAGINAS){
paginaActual=0;
}
else{
paginaActual++;
}
actualizaIframeContenido();
}
function previous(){
if (paginaActual<=0){
paginaActual = NUM_PAGINAS -1;
}
else{
paginaActual--;
}
actualizaIframeContenido();
}
function last(){
paginaActual = NUM_PAGINAS -1;
actualizaIframeContenido();
}
¿Cuántas páginas arm hay de verdad y cuantas tienes configuradas en la variable NUM_PAGINAS?
Cuantas hay de verdad??
¿como es eso? ¿puedo estar equivocado?
Hay 33 paginas en total y 33 configuradas como indica el codigo.
Checkea en http://www.pixelperu.net/script/
gracias
Error mío: Cambia la función next:
function next(){
if (paginaActual>=NUM_PAGINAS-1){
paginaActual=0;
}
Carlos, Maestro de maestros!!!
Esa era la solución!!!  yo era estaba seguro  :)) (broma)
Muchas gracias por todo el apoyo brindado en este tiempo, la verdad es que has sido bastante paciente y entendido en la materia.
Por cualquier cosas que necesites, ya tienes mi contacto
Saludos cordiales desde Lima Peru.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas