Click here to Skip to main content
15,893,814 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am creating a simple HTML page to display some content in HTML page using javascript and I want to print the content from a drop down menu everything works but the page is refreshing when I print finishes and the ynamic data is disappeared from web page.

I tried
HTML
event.preventDefault();  and <a href="#" önclick="printReading(event);return false;">
etc but that disabled the dropdown menu from next operation.


My sample code is

HTML
<html>
	<head>
		<meta charset="utf-8">
		<title>Sample </title>
		<meta name="viewport" content="width=device-width,initial-scale=1.0">
		
	</head>
	<body>

		<div class="click-nav">
			<ul class="no-js">
				<li>
					<a class="clicker"><img src="img/i-1.png" alt="Icon">Options</a>
					<ul>
						<li><a href="#"   önClick="printReading(event);"><img src="img/i-2.png" alt="Icon">Print</a></li>
						<li><a href="#"><img src="img/i-5.png" alt="Icon">Help</a></li>
						
					</ul>
				</li>
			</ul>
		</div>
		
		
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
		<script>
		$(function() {
			// Clickable Dropdown
			$('.click-nav > ul').toggleClass('no-js js');
			$('.click-nav .js ul').hide();
			$('.click-nav .js').click(function(e) {
				$('.click-nav .js ul').slideToggle(200);
				$('.clicker').toggleClass('active');
				e.stopPropagation();
			});
			$(document).click(function() {
				if ($('.click-nav .js ul').is(':visible')) {
					$('.click-nav .js ul', this).slideUp();
					$('.clicker').removeClass('active');
				}
			});
		});

function printReading(event)
{
	var divElements = document.getElementById("printarea").innerHTML;
	var oldPage = document.body.innerHTML;
	document.body.innerHTML =
	"<html><head><title></title></head><body>" +
	divElements + "</body>";
	window.print();
	document.body.innerHTML = oldPage;
	//event.preventDefault();
}
function addDummyData()
{
	var table = document.getElementById('readings_table');
	var row = table.insertRow(0);
	var cell1 =row.insertCell(0);
	cell1.innerHTML ="Sample data";
}

		</script>
	<button onclick="addDummyData()">Click me</button>
<div id="printarea">
         <table id="readings_table"  width="100%" border="1" ></table>
</div>
	</body>
</html>
Posted
Updated 27-Jan-14 19:42pm
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900