JavaScript - Print Page If Form Is Valid
Complete newbie to JS,
If button is clicked, want form to be validated. If the validation passes then bring up print dialogue I have got the validation (using dreamweaver) working, however if the form is correct , how do I get the print dialogue (window.print()) to appear? here's the code Code: <script language="JavaScript" type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="" ) { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } } if (errors) alert('The following error(s) occurred:\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> Code: <td><input name="Name" type="text" id="Name" size="50" maxlength="50"></td> <input name="Button" type="button" onClick="MM_validateForm('Name','','R');return document.MM_returnValue" value="Button" /> Similar Tutorialsthis page will display new images when you mouseover the red and orange arrows on the menu on the right side in chrome, but not ff, ie, opera, and safari. Any ideas as to why these other browsers aren't running the code like chrome? guessing this is javascript related - anyone want to offer any clues?
Hello all, We have a job management system which contains a form where our employees input job information. When the form is submitted it brings you to a page that looks almost identical to it. On this page, the input fields have been changes to the user's submitted text. When this page loads, so does the print dialog so the user can print it instantly. The problem is that since the form and the print page look the same, some of our employees (out of habit from our old system) hit ctrl+p and print the form before submitting it. Since there is a way to automatically bring up the print dialog, I was wondering if there is a way to disable it all together. This system is used only by our employees who all use the latest version of Firefox. The solution only needs to work for this browser. Any help is greatly appreciated. Thank you! Hey there, I've scrollable screen. I'm having a print button on it and "window.print()" function is called on its onclick event. My problem is it only prints the "viewable" part of the screen, not the whole screen. P.S. I'm using IE7 and it must work for IE7 atleast (for rest I'm not bothered). Thanks in anticipation. I have a very simple page that has one iframe on it. What I would like to accomplish is having Javascript read the contents of the iframe and write it to the page. I have tried numerous coding samples found all over the web but nothing seems to work for me as I am a major Javascript noob. The iFrame will include content like the following which will be from an outside web server; Code: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><results><![CDATA[Success]]></results></response> Thanks a lot in advance! Hi there, I'm absolute newbie in javascript, so the question may look not worth asking for you. Sorry for that. My situation is like that: I want to make a preview of form data using javascript. After the button "preview" is clicked I start showing div dialog which should contain data entered by users. The problem is that because my div dialog is coded in the same page as form I can get only default values. It means - after making some changes, they are not visible. To get and print the value of input I use this code: Code: <script type="text/javascript"> mytext = document.getElementById('name').value; document.write(mytext); </script> How it would be possible to update the values on "on click" event. Thank you very much for considering this question. Hi guys, hoping you can help me out again, with this new problem. I've got a form which is acting as a calculator. Once the calculation is complete I want it so when the user presses a 'print' button it takes certain parts of the form data and displays them in a new window which would be designed for printing. how can i go about this using only javascript? thanks I need to have an online submission form, which accepts text for print adverts. Here is my problem: Whereas with Twitter, you are limited to 140 characters as the output is digital, with print the overall width of text is vital if it has to fit within a given space. Are there any javascript software libraries available that can calculate the printed length? Preferably as the user types. This assumes that the font, font-size and kerning are known. (I do not want to use the 'Courier' font) We will have to write this in-house unless there is something available on the internets (I'm possibly not the first person to come up against this) Can anyone help? (I've posted this at 'graphicdesignforum' but figure the readership will be different) When i press button it display output on the next page .How do i get output on the same page. Please help me. Here is my code <input type = "textbox" id = "box1"> <script type ="text/javascript"> function show() { var abc = document.getElementById("box1").value; document.write(abc); } </script> <input type = "button" value ="display on the same page" onclick ="show()"> I have a order form page and on submitting it opens a new web page that displays the order totals. Below is my code and most probably wrong but for me it seems logic. Please assist. Order Form: Code: <td colspan="1" height="120" align="left"> <select style="margin-left: 60px; background-color: #00FF77;" name="prod_bed_359" onchange="calculateValue(this.form)"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> R359</td></tr> New page I called a unction to print: Code: function itemsOrdered() { var beds = document.forms[2].prod_bed_359.value; document.write("<pre><strong>Description\t\tQuantity\tPrice</strong></pre>"); document.write("<pre>Doggie Bed\t\t" + beds + "</pre>"); } This is still basic as I need to get this right before adding the prices and totals which is also extracted from the order page. I'm doing an exercise from a Javascript book and can't seem to figure why this would be valid. Code: if {var == 4} { Do Something } I think it would be invalid because var is a reserved word which means it doesn't have a value. I could be wrong. Note that this is not a script in and of itself, just a section of it, and this seems to be the area that is giving me problems, so I thought I'd post here to see whether it was valid code. Code: var coords if(window.location.href == "http://en59.tribalwars.net/game.php?village=114100&screen=place") { coords = prompt("Please enter the coordinates of the village you want to send a fake to.","|"); } coords=coords.split('|'); As I said, don't expect to make sense of it, as it is just a snippet taken from a script, but this is the part of it which is messing up the script, so I wanted to post here to see whether everything in the above code, the syntax of it and the if statement - is valid. Would that if statement, if used in a proper script, be working, or is there something wrong with it which could be giving me errors? Thanks for your help in advance. Code: <input name="1" value="1" id="1" type="radio" onClick="change(this)"> <input name="1" value="2" id="2" type="radio" onClick="change(this)"> <input name="1" value="3" id="3" type="radio" onClick="change(this)"> <br> <input name="2" value="4" id="4" type="radio" onClick="change(this)"> <input name="2" value="5" id="5" type="radio" onClick="change(this)"> <input name="2" value="6" id="6" type="radio" onClick="change(this)"> <br> <input name="3" value="7" id="7" type="radio" onClick="change(this)"> <input name="3" value="8" id="8" type="radio" onClick="change(this)"> <input name="3" value="9" id="9" type="radio" onClick="change(this)"> <div id="tab3continue"> Hello </div> <script> var tab3_button = document.getElementById('tab3continue'); tab3_button.style.visibility = 'hidden'; function change(switchElement) { if ((switchElement.value == '1' || '2' || '3' )&&(switchElement.value == '4' || '5' || '6')&&(switchElement.value == '7' || '8' || '9')) { tab3_button.style.visibility = 'visible'; } else { tab3_button.style.visibility = 'hidden'; } } </script> So I have a div(tab3continue) which is hidden and want is visible if either 1, 2, 3 are selected AND either 4, 5, 6 are selected AND either 7, 8, 9 is selected. so need one from each group to be selected to make visible. Could someone tell me if this code could work or where I am going wrong? Thanks ------------- Jay Hi All, I am not sure if this is the right place for this question. I'm fairly certain that my problem can be resolved with some JS, but I'm not 100% so please forgive me if this thread does not belong here. Anyhoo, here goes.... I have a site i'm building in Joomla! 1.5. I've got a form on page A and an iframe on page B. The iframe src is an asp page that returns real estate listing details based on values passed to the asp page in the URL. for example: http://www.hostOfAspPage.com/aspPage...&minprice=500k I figured out how to create a form on page B that changes the src of the iframe by setting the target to the name of the iframe. so that works fine. but now, i want to put a similar form on the home page. Please see the following diagram...hopefully it explains what i'm trying to do. http://webwraps.com/changeiframesrc.jpg so here is my question... Is it possible to use JS (or maybe php?) to create a URL based on the values in the form on page A and then take the visitor to page B while changing the src of the iframe on page B to be the newly created URL? if so, how? existing iframe code: <iframe name="resultsiframe" src="URL-ONE"></iframe> desired new iframe code (after form on page A is submitted): <iframe name="resultsiframe" src="URL-TWO"></iframe> Thank you very much for your time. Is the window.status still useful nowadays or is it outdated? If it is still used, why doesn't this work please? Code: <a href="javascript_status_bar_messages.cfm" onMouseover="JavaScript:window.status='Status Bar Message goes here'; return true" onMouseout="JavaScript:window.status=''; return true">Hover over me!</a> I have an online shopping cart and some of the products are sold in boxes of 6. So I am trying to write some code that will alert the customer if they have entered a quantity that isn't some multiple of six. I've tried using the modulus operator as well as dividing by 6 and then checking to see if the result is a whole number but inevitably the alert box pops up no matter what I enter. This is what I'm trying to use now: Code: <head> <script type="text/javascript"> function calculate(qtyordered) { if (qtyordered%6!=0) { alert("Blades are sold in boxes of 6." + '\n' + "Please correct your order quantity."); return false; } else { return true; } } </script> </head> <body> <form action="http://ww4.aitsafe.com/cf/add.cfm" onsubmit="return calculate(qtyordered)" method="post"> <input name="qtyordered" type="text" value="0" size="4" maxlength="4"> </body> What am I doing wrong? Is there a better way to check if the entered quantity is a multiple of 6? I have the google analytics code but it is presenting itself as not valid. Code: <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try{ var pageTracker = _gat._getTracker("UA-xxxxxx-x"); pageTracker._trackPageview(); } catch(err) {} </script> Can anyone help? ALso is this script suitable to link to externally? I am having problems getting my form to redirect users to a thank you page after they submit the form. I am still getting emailed all of the information that they submit, but it isn't sending them to the "thanks.asp" page. I have tried a ton of different things, but I can't figure it out. Any help would be greatly appreciated. Code: <html> <head> <title>Congratulations on 30 years at WSU</title> <script> function ShowMenu(num, menu, max) { //num is selected value, menu is the name of the div, max is the number of divs for(i = 1; i <= max; i++){ //add number onto end of menu var menu_div = menu + i; //if current show if(i == num) { document.getElementById(menu_div).style.display = 'block'; } else { //if not, hide document.getElementById(menu_div).style.display = 'none'; } } } function MM_validateForm() { //v4.0 if (document.getElementById){ var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; } } if (errors) alert('The following error(s) occurred:\n'+errors); document.MM_returnValue = (errors == ''); } } </script> <% if Request.Form("isSubmitted") = "yes" then Dim Name, Email, Phone, Item, officenumber, mailcode, street, city, state, zipcode name = Request.Form("Name") email = Request.Form ("Email") phone = Request.Form("Phone") item = Request.Form("Item") officenumber = Request.Form("officenumber") mailcode = Request.Form("mailcode") street = Request.Form("street") city = Request.Form("city") state = Request.Form("state") zipcode = Request.Form("zipcode") Set objCDO = Server.CreateObject("CDONTS.NewMail") objCDO.From = "bookstore@weber.edu" objCDO.To = "jaymitchell@weber.edu" objCDO.Subject = "Service Award Order" objCDO.Body = "Name: " & Name & vbcrlf&_ "Email Address: " & Email & vbcrlf&_ "Phone: " & Phone & vbcrlf&_ "Item: " & Item & vbcrlf&_ "Office Number: " & officenumber & vbcrlf&_ "Mail Code: " & mailcode & vbcrlf&_ "Street: " & street & vbcrlf&_ "City: " & city & vbcrlf&_ "State: " & state & vbcrlf&_ "Zip Code: " & zipcode objCDO.BodyFormat = 1 objCDO.MailFormat = 1 objCDO.Send ConfirmMsg = "Thank you for submitting your order!" end if %> <% if Request.Form("isSubmitted") = "yes" then Response.Redirect "http://bookstore.weber.edu/thanks.asp" end if %> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><style type="text/css"> <!-- body { background-image: url(images/Years-of-Service-WebOrder-Page-500.jpg); background-repeat: no-repeat; width: 765px; max-width: 765px; } .style4 {font-weight: bold} .style5 { font-size: 12px; font-weight: bold; } .style7 {font-size: smaller} .style8 {font-weight: bold; font-size: smaller; } --> </style></head> <br/><br/><br/><br/><br/><br/><br/> <% if ConfirmMsg <> "" then %> <h2><%= ConfirmMsg %></h2> <% end if %> <form width="750"> <form action="/jaystest.asp" method="post" enctype="multipart/form-data"> <p>Please, complete all the information. </p> <p>Name (First and Last): <input name="Name" type="text" id="Name" size="32"> <br> Email Address: <input name="Email" type="text" id="Email" size="36"> <br> Phone number or campus extension: <input name="Phone" type="text" id="Phone" size="20"> <br> Gift Item #: <input name="Item" type="text" id="Item" size="20"> <br> <br> Choose your preferred method of delivery: <br> <select id='deliverymethod' onChange="javascript: ShowMenu(document.getElementById('deliverymethod').value,'divColor', 6);"> <option value='0'>Please select one <option value='1'>Pick-up at bookstore <option value='2'>Deliver to my office <option value='3'>Deliver to my home </select> </p> <div id='divColor1' style="display: none;"></div> <div id='divColor2' style="display: none;"> <br>Office Number: <input name="officenumber" type="text" value="" size="5"><br> Mail Code: <input name="mailcode" type="text" value="" size="9"><br> </div> <div id='divColor3' style="display: none;"> <br>Street Address: <input name="street" type="text" value="" size="40"><br> City: <input type="text" name="city" value=""> State: <input name="state" type="text" value="" size="2" maxlength="2"><br> Zip Code: <input name="zipcode" type="text" id="zipcode" value="" size="5" maxlength="5"> <br> </div> <p> <input name="isSubmitted" type="hidden" value="yes"> <br> Your gift will be available in 4-6 weeks. <br> <br> <input type="submit" onClick="MM_validateForm('Name','','R','Email','','RisEmail','zipcode','','NisNum');MM_validateForm('Name','','R','Email','','RisEmail','Phone','','R');MM_validateForm('Name','','R','Email','','RisEmail','Phone','','R','Item','','R','zipcode','','NisNum');return document.MM_returnValue" value=" Submit my Order " action="thanks.asp"> </p> <p> <br> </p> </form> <br> <br> <br> |