JavaScript - Imprimir Javascript

 
Vista:

Imprimir Javascript

Publicado por Macarena (1 intervención) el 21/02/2008 18:12:33
Holaa todos los foreros, os agradecería que me hechaseis una mano, llevo toda la tarde liada con un código, es una pequeña aplicación que envía los datos de un test que realiza un alumno, en la siguiente pagina calcula la puntuación y pide los datos del alumno, y en la ultima página muestra todos los datos con un botón imprimir. Tiene que ser todo con javascript pq tiene que trabajar sin servidor de aplicaciones. El problema me viene al imprimir la página. El método window.print() no me funciona en el evento onClick, ya he probado de todo, como crear una funcion aparte y llamarla en onClick, pero da un error javascript "not defined", creo que porque no coje la función dentro del document.write... Dejo el código de esa página:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!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>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>test</title>
<script>
var cont=0;
 
function atras() {
	cont=1;
}
function redireccion() {
	history.go(-1);
}
function separaQueryString(){
	var j=0;
	var datos=new Array();
	queryString=location.search.substr(1);
	pares=queryString.split('&');
	$_GET=[];
	for(ii in pares){
		tmp=pares[ii].split('=');
		$_GET[tmp[0]]=tmp[1].split('+').join(' ');
	}
	for (ii in $_GET){
		datos[j]=$_GET[ii];
		j++;
	}
	if(datos[0]=='' || datos[1]=='' || datos[2]=='' || datos[3]=='' || datos[4]=='') {
		alert("Debe de introducir todos los datos");
		atras();
	}
if(cont==0) {
	document.write('<h2><center>'+datos[4]+'<br/>');
		document.write('<table width="300" border="0" align="center">');
  			document.write('<tr>');
    			document.write('<td>Nombre</td>');
				document.write('<td>'+datos[0]+'</td>');
  			document.write('</tr>');
  			document.write('<tr>');
    			document.write('<td>Apellidos</td>');
				document.write('<td>'+datos[1]+'</td>');
  			document.write('</tr>');
  			document.write('<tr>');
    			document.write('<td>DNI</td>');
				document.write('<td>'+datos[2]+'</td>');
  			document.write('</tr>');
			document.write('<tr>');
				document.write('<td>Nota</td>');
				document.write('<td>'+datos[3]+'</td>');
			document.write('</tr>');
			document.write('<tr>');
			document.write('<td align="center" colspam="2"><input type="button" value="Imprimir" onClick="window.print()"></td>');
			document.write('</tr>');
		document.write('</table>');
		}
		else {
			setTimeout ("redireccion()", 5);
		}
}
window.onload=separaQueryString;
</script>
</head>
 
<body>
<div id="pp"></div>
</body>
</html>

Mil gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder