Solved

Print page after updating data

Posted on 2006-11-08
12
193 Views
Last Modified: 2010-04-06
I have a record page bound to a mySQL table. It has a save button on it.
I want to be able to change the button to a "save and print" button and print the page without the graphics and tbe buttons. I thought I would construct another page without the graphics and buttons and print that but the problem is updating the data on the second page.
Is there any way of calling up the second page and passing it the id of the record just saved on the first one and then printing it, this all being done without the user seeing the process?

Regards
Brian
0
Comment
Question by:bogorman
  • 5
  • 4
  • 3
12 Comments
 
LVL 8

Expert Comment

by:radnor
ID: 17900609
I have for a client of mine, 2 css files.  One used for display and the other printing.  

<link href="xxxx.css" rel="stylesheet" type="text/css" media="screen" />
<link href="xxxxp.css" rel="stylesheet" type="text/css" media="print" />

Items I do NOT wanted printed have this:

#leftcontent {
      display:none;
}

On this site, leftcontent describes my nav menu.  So when the page is printed, the menu is NOT included.

Hope this helps.
0
 
LVL 8

Expert Comment

by:radnor
ID: 17900639
Not sure if you can include on the last line of your script this:
window.print();  to print the page when done.
0
 

Author Comment

by:bogorman
ID: 17900938
hi radnor,
Thanks very much. I am quite new to CSS/Web Design.
I assume that the first stylesheet would only be applied to the page when it is displayed, the second only when the page is printed.
The two areas of my page which I do not want to be printed are the section with the class Header (which has the graphic heading) and the bottom area which has class Bottom)
So if I give each an id="noprint" and put in the "printing" stylesheet

#noprint{
display:none
}

together with all the other styles from my "display" stylesheet, it should work. Have not tried it yet - just wanted to make sure I've got it right!
Regards
Brian

0
ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

 

Author Comment

by:bogorman
ID: 17900951
Hi radnor,
Just another point. I suppose that the two stylesheets can be identical apart from the addition of the noprint style to the printing one?
Regards
Brian
0
 
LVL 8

Assisted Solution

by:radnor
radnor earned 250 total points
ID: 17901163
Well, you do not want your header printed  In your CSS for PRINT

.Header{
     display:none
}

Have fun with it!
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 17904856
And radnor's suggestion of window.print you can do with
<body onLoad="window.print()">
0
 

Author Comment

by:bogorman
ID: 17905382
Hi,
Yes, I see. I suppose I could have the record page with a save and print button which saves the record and then opens a "print" page with no graphics on it, passing the record id to it as a parameter. This would print automatically, but how can I close the page automatically and return to the original one?
Regards
Brian
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 17905487
You cannot reliably print and close. wmv can open a new window, print it and have a close link or button
0
 

Author Comment

by:bogorman
ID: 17905513
Hi,
I suppose, then, it might be best to adopt radnor's idea with the two stylesheets, one for display and one for printing and keep to one page.
The only problem then would be "converting" listboxes to textboxes for printing, otherwise they would look wrong.
Perhaps I could have two controls to hold the data when I use a listbox, one the listbox and the other a  textbox with an id which hides it in display mode. If I do this and use the ifchange event to copy the data over from the listbox to the textbox, would it accept the data if its id hides it in display mode?
Regards
Brian
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 17905759
yes.
<input name="printfield1" class="print" value="">
<select onChange="this.form.printfield1.value=this.options[this.selectedIndex].value" class="noPrint">
0
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 250 total points
ID: 17905886
Or better, since some browser do not print the contents of form fields:

<span id="showSelect1" class="print"></span>
<select onChange="document.getElementById('showSelect1').innerHTML='$'+this.options[this.selectedIndex].value" class="noPrint">


0
 

Author Comment

by:bogorman
ID: 17907213
Hi radnor and mplungjan,
Thanks VERY MUCH for your excellent advice. You have both helped me so much and I have solved the problem with your advice.
Will split the points.
Regards
Brian
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question