JavaScript - Newbie: Trouble With Popup Form And Cookies
I'm trying to create a popup sign up form that will only popup every week. I don't want it to popup every time someone visits the site.
I'm new to Javascript as a whole and can't seem to figure out how to set a cookie for a week and if there is no cookie (or the cookie has expired) it will popup automatically. If anyone can point out what I'm doing wrong it would be greatly appreciated. I feel like I'm so close and that the solution is staring me in the face. Here's the code that I have so far: function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,""); if (x==c_name) { return unescape(y); } } } function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + 5); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie=c_name + "=" + c_value; } function checkCookie() { var username=getCookie(exdate); if (exdate!=null && exdate!="") { //Do Nothing } else { $(document).ready(function() { var id = '#dialog'; //Get the screen height and width var maskHeight = $(document).height(); var maskWidth = $(window).width(); //Set heigth and width to mask to fill up the whole screen $('#mask').css({'width':maskWidth,'height':maskHeight}); //transition effect $('#mask').fadeIn(1000); //Get the window height and width var winH = $(window).height(); var winW = $(window).width(); //Set the popup window to center $(id).css('top', winH/100-$(id).height()/2); $(id).css('left', winW/2-$(id).width()/2); //transition effect $(id).fadeIn(1000); $(id).animate({top:"+=300px"},1000); //if close button is clicked $('.window .close').click(function (e) { //Cancel the link behavior e.preventDefault(); $('.window').animate({right:"+=150px"}).animate({left:"1500px"}).fadeOut(50); $('#mask').hide(); }); //if NO Thanks button is clicked $('.window .noThanks').click(function (e) { //Cancel the link behavior e.preventDefault(); $('.window').animate({right:"+=150px"}).animate({left:"1500px"}).fadeOut(50); $('#mask').hide(); }); //if mask is clicked $('#mask').click(function () { $(this).hide(); $('.window').hide(); }); function hideHolder() { $('.place-holder').hide(); } function showHolder() { if($('.name-field').val() == '') { $('.place-holder').show() } } $('.name-field').focus(hideHolder); $('.name-field').blur(showHolder); $('.place-holder').click(function () { $('.name-field').trigger('focus'); }); }); } } Thank you for your help. :-) Similar TutorialsHi - I have used two scripts that I found on the web - both proport to only load a popup once per session - one is from pc magazine April issue, another I will list here - they use cookies, here is my dir structure on my web site root dir1 dir2 dir3 .js is in root, pages in dir1 and dir2 and dir3 call it, popup comes up once per dir hit, not once per site hit! My site informationhighwaytohell.com go to travelogue, then move around, you see popup is loading more than once - what gives? The js is in a .js file that gets called by every page http://javascriptkit.com/popwin/index.shtml <script> //Popup Window Script //By JavaScript Kit (http://javascriptkit.com) //JavaScript tutorials and over 400+ free scripts function openpopup(){ var popurl="http://fullwebaddresshere" winpops=window.open(popurl,"","width=400,height=338,") } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search) if (offset != -1) { // if cookie exists offset += search.length // set index of beginning of value end = document.cookie.indexOf(";", offset); // set index of end of cookie value if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function loadornot(){ if (get_cookie('poppedup')==''){ openpopup() document.cookie="poppedup=yes" } } loadornot() </script> Hi, the cookies I am trying to read are values from a form that were stored. The problem I am having is that one value form the form, the value is 5000, was stored as a cookie but I cannot read it. When I display it, it returns: [object HTMLInputElement]. The code for storing the value is this: Code: document.cookie = "bankRoll=" + encodeURIComponent(money) + "; expires=" + expireDate.toUTCString(); , where money = 5000. The code for reading the cookies is this: Code: var cookies = decodeURIComponent(document.cookie); var cookieNumber = new Array(10); cookieNumber = cookies.split("; "); for(var i = 0; i < cookieNumber.length; ++i) { var equalPos1 = cookieNumber[i].search("="); if (cookieNumber[i].substring(0, equalPos1) == "firstName") firstName = cookieNumber[i].substring(equalPos1 + 1); if (cookieNumber[i].substring(0, equalPos1) == "lastName") lastName = cookieNumber[i].substring(equalPos1 + 1); if (cookieNumber[i].substring(0, equalPos1) == "pCode") pCode = cookieNumber[i].substring(equalPos1 + 1); if (cookieNumber[i].substring(0, equalPos1) == "bankRoll") bankRoll = cookieNumber[i].substring(equalPos1 + 1); if (cookieNumber[i].substring(0, equalPos1) == "lastVisit") lastVisit = cookieNumber[i].substring(equalPos1 + 1); } The only one that does not display properly is the variable bankroll. All the others return the proper value. I would like to know how to fix my code so that the value 5000 is displayed. Dear all, Im a complete newbie to javascript and I've basically copied and pasted the javascript I found here to use on my site. Javascript source: http://dynamicdrive.com/dynamicindex5/main.js My testpage: http://bisc.cse.ucsc.edu/test.html The console throws the error 'Cannot set property 'innerHTML' of null' in main.js:126 I marked line 126 with '>>', it happens in function stm Code: <!-- /* Pleas leave this notice. DHTML tip message version 1.2 copyright Essam Gamal 2003 (http://migoicons.tripod.com, migoicons@hotmail.com) All modifications are done in the style.js you should not modify this file. Created on : 06/03/2003 Script featured on and can be found at Dynamic Drive (http://www.dynamicdrive.com) */ var ua = navigator.userAgent var ps = navigator.productSub var dom = (document.getElementById)? 1:0 var ie4 = (document.all&&!dom)? 1:0 var ie5 = (document.all&&dom)? 1:0 var nn4 =(navigator.appName.toLowerCase() == "netscape" && parseInt(navigator.appVersion) == 4) var nn6 = (dom&&!ie5)? 1:0 var sNav = (nn4||nn6||ie4||ie5)? 1:0 var cssFilters = ((ua.indexOf("MSIE 5.5")>=0||ua.indexOf("MSIE 6")>=0)&&ua.indexOf("Opera")<0)? 1:0 var Style=[],Text=[],Count=0,sbw=0,move=0,hs="",mx,my,scl,sct,ww,wh,obj,sl,st,ih,iw,vl,hl,sv,evlh,evlw,tbody var HideTip = "eval(obj+sv+hl+';'+obj+sl+'=0;'+obj+st+'=-800')" var doc_root = ((ie5&&ua.indexOf("Opera")<0||ie4)&&document.compatMode=="CSS1Compat")? "document.documentElement":"document.body" var PX = (nn6)? "px" :"" if(sNav) { window.onresize = ReloadTip document.onmousemove = MoveTip if(nn4) document.captureEvents(Event.MOUSEMOVE) } if(nn4||nn6) { mx = "e.pageX" my = "e.pageY" scl = "window.pageXOffset" sct = "window.pageYOffset" if(nn4) { obj = "document.TipLayer." sl = "left" st = "top" ih = "clip.height" iw = "clip.width" vl = "'show'" hl = "'hide'" sv = "visibility=" } else obj = "document.getElementById('TipLayer')." } if(ie4||ie5) { obj = "TipLayer." mx = "event.x" my = "event.y" scl = "eval(doc_root).scrollLeft" sct = "eval(doc_root).scrollTop" if(ie5) { mx = mx+"+"+scl my = my+"+"+sct } } if(ie4||dom){ sl = "style.left" st = "style.top" ih = "offsetHeight" iw = "offsetWidth" vl = "'visible'" hl = "'hidden'" sv = "style.visibility=" } if(ie4||ie5||ps>=20020823) { ww = "eval(doc_root).clientWidth" wh = "eval(doc_root).clientHeight" } else { ww = "window.innerWidth" wh = "window.innerHeight" evlh = eval(wh) evlw = eval(ww) sbw=15 } function applyCssFilter(){ if(cssFilters&&FiltersEnabled) { var dx = " progid:DXImageTransform.Microsoft." TipLayer.style.filter = "revealTrans()"+dx+"Fade(Overlap=1.00 enabled=0)"+dx+"Inset(enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=in enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=out enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=in enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=out enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=in enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=out enabled=0)"+dx+"Iris(irisstyle=STAR,motion=in enabled=0)"+dx+"Iris(irisstyle=STAR,motion=out enabled=0)"+dx+"RadialWipe(wipestyle=CLOCK enabled=0)"+dx+"RadialWipe(wipestyle=WEDGE enabled=0)"+dx+"RadialWipe(wipestyle=RADIAL enabled=0)"+dx+"Pixelate(MaxSquare=35,enabled=0)"+dx+"Slide(slidestyle=HIDE,Bands=25 enabled=0)"+dx+"Slide(slidestyle=PUSH,Bands=25 enabled=0)"+dx+"Slide(slidestyle=SWAP,Bands=25 enabled=0)"+dx+"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)"+dx+"Stretch(stretchstyle=HIDE enabled=0)"+dx+"Stretch(stretchstyle=PUSH enabled=0)"+dx+"Stretch(stretchstyle=SPIN enabled=0)"+dx+"Wheel(spokes=16 enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)"+dx+"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)"+dx+"Alpha(enabled=0)"+dx+"Dropshadow(OffX=3,OffY=3,Positive=true,enabled=0)"+dx+"Shadow(strength=3,direction=135,enabled=0)" } } function stm(t,s) { if(sNav) { if(t.length<2||s.length<25) { var ErrorNotice = "DHTML TIP MESSAGE VERSION 1.2 ERROR NOTICE.\n" if(t.length<2&&s.length<25) alert(ErrorNotice+"It looks like you removed an entry or more from the Style Array and Text Array of this tip.\nTheir should be 25 entries in every Style Array even though empty and 2 in every Text Array. You defined only "+s.length+" entries in the Style Array and "+t.length+" entry in the Text Array. This tip won't be viewed to avoid errors") else if(t.length<2) alert(ErrorNotice+"It looks like you removed an entry or more from the Text Array of this tip.\nTheir should be 2 entries in every Text Array. You defined only "+t.length+" entry. This tip won't be viewed to avoid errors.") else if(s.length<25) alert(ErrorNotice+"It looks like you removed an entry or more from the Style Array of this tip.\nTheir should be 25 entries in every Style Array even though empty. You defined only "+s.length+" entries. This tip won't be viewed to avoid errors.") } else { var ab = "" ;var ap = "" var titCol = (s[0])? "COLOR='"+s[0]+"'" : "" var txtCol = (s[1])? "COLOR='"+s[1]+"'" : "" var titBgCol = (s[2])? "BGCOLOR='"+s[2]+"'" : "" var txtBgCol = (s[3])? "BGCOLOR='"+s[3]+"'" : "" var titBgImg = (s[4])? "BACKGROUND='"+s[4]+"'" : "" var txtBgImg = (s[5])? "BACKGROUND='"+s[5]+"'" : "" var titTxtAli = (s[6] && s[6].toLowerCase()!="left")? "ALIGN='"+s[6]+"'" : "" var txtTxtAli = (s[7] && s[7].toLowerCase()!="left")? "ALIGN='"+s[7]+"'" : "" var add_height = (s[15])? "HEIGHT='"+s[15]+"'" : "" if(!s[8]) s[8] = "Verdana,Arial,Helvetica" if(!s[9]) s[9] = "Verdana,Arial,Helvetica" if(!s[12]) s[12] = 1 if(!s[13]) s[13] = 1 if(!s[14]) s[14] = 200 if(!s[16]) s[16] = 0 if(!s[17]) s[17] = 0 if(!s[18]) s[18] = 10 if(!s[19]) s[19] = 10 hs = s[11].toLowerCase() if(ps==20001108){ if(s[2]) ab="STYLE='border:"+s[16]+"px solid"+" "+s[2]+"'" ap="STYLE='padding:"+s[17]+"px "+s[17]+"px "+s[17]+"px "+s[17]+"px'"} var closeLink=(hs=="sticky")? "<TD ALIGN='right'><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"'><A HREF='javascript:void(0)' ONCLICK='stickyhide()' STYLE='text-decoration:none;color:"+s[0]+"'><B>Close</B></A></FONT></TD>":"" var title=(t[0]||hs=="sticky")? "<TABLE WIDTH='100%' BORDER='0' CELLPADDING='0' CELLSPACING='0'><TR><TD "+titTxtAli+"><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"' "+titCol+"><B>"+t[0]+"</B></FONT></TD>"+closeLink+"</TR></TABLE>" : "" var txt="<TABLE "+titBgImg+" "+ab+" WIDTH='"+s[14]+"' BORDER='0' CELLPADDING='"+s[16]+"' CELLSPACING='0' "+titBgCol+" ><TR><TD>"+title+"<TABLE WIDTH='100%' "+add_height+" BORDER='0' CELLPADDING='"+s[17]+"' CELLSPACING='0' "+txtBgCol+" "+txtBgImg+"><TR><TD "+txtTxtAli+" "+ap+" VALIGN='top'><FONT SIZE='"+s[13]+"' FACE='"+s[9]+"' "+txtCol +">"+t[1]+"</FONT></TD></TR></TABLE></TD></TR></TABLE>" if(nn4) { with(eval(obj+"document")) { open() write(txt) close() } } >> else eval(obj+"innerHTML=txt") tbody = { Pos:s[10].toLowerCase(), Xpos:s[18], Ypos:s[19], Transition:s[20], Duration:s[21], Alpha:s[22], ShadowType:s[23].toLowerCase(), ShadowColor:s[24], Width:parseInt(eval(obj+iw)+3+sbw) } if(ie4) { TipLayer.style.width = s[14] tbody.Width = s[14] } Count=0 move=1 } } } function MoveTip(e) { if(move) { var X,Y,MouseX = eval(mx),MouseY = eval(my); tbody.Height = parseInt(eval(obj+ih)+3) tbody.wiw = parseInt(eval(ww+"+"+scl)); tbody.wih = parseInt(eval(wh+"+"+sct)) switch(tbody.Pos) { case "left" : X=MouseX-tbody.Width-tbody.Xpos; Y=MouseY+tbody.Ypos; break case "center": X=MouseX-(tbody.Width/2); Y=MouseY+tbody.Ypos; break case "float": X=tbody.Xpos+eval(scl); Y=tbody.Ypos+eval(sct); break case "fixed": X=tbody.Xpos; Y=tbody.Ypos; break default: X=MouseX+tbody.Xpos; Y=MouseY+tbody.Ypos } if(tbody.wiw<tbody.Width+X) X = tbody.wiw-tbody.Width if(tbody.wih<tbody.Height+Y+sbw) { if(tbody.Pos=="float"||tbody.Pos=="fixed") Y = tbody.wih-tbody.Height-sbw else Y = MouseY-tbody.Height } if(X<0) X=0 eval(obj+sl+"=X+PX;"+obj+st+"=Y+PX") ViewTip() } } function ViewTip() { Count++ if(Count == 1) { if(cssFilters&&FiltersEnabled) { for(Index=28; Index<31; Index++) { TipLayer.filters[Index].enabled = 0 } for(s=0; s<28; s++) { if(TipLayer.filters[s].status == 2) TipLayer.filters[s].stop() } if(tbody.Transition == 51) tbody.Transition = parseInt(Math.random()*50) var applyTrans = (tbody.Transition>-1&&tbody.Transition<24&&tbody.Duration>0)? 1:0 var advFilters = (tbody.Transition>23&&tbody.Transition<51&&tbody.Duration>0)? 1:0 var which = (applyTrans)?0:(advFilters)? tbody.Transition-23:0 if(tbody.Alpha>0&&tbody.Alpha<100) { TipLayer.filters[28].enabled = 1 TipLayer.filters[28].opacity = tbody.Alpha } if(tbody.ShadowColor&&tbody.ShadowType == "simple") { TipLayer.filters[29].enabled = 1 TipLayer.filters[29].color = tbody.ShadowColor } else if(tbody.ShadowColor&&tbody.ShadowType == "complex") { TipLayer.filters[30].enabled = 1 TipLayer.filters[30].color = tbody.ShadowColor } if(applyTrans||advFilters) { eval(obj+sv+hl) if(applyTrans) TipLayer.filters[0].transition = tbody.Transition TipLayer.filters[which].duration = tbody.Duration TipLayer.filters[which].apply() } } eval(obj+sv+vl) if(cssFilters&&FiltersEnabled&&(applyTrans||advFilters)) TipLayer.filters[which].play() if(hs == "sticky") move=0 } } function stickyhide() { eval(HideTip) } function ReloadTip() { if(nn4&&(evlw!=eval(ww)||evlh!=eval(wh))) location.reload() else if(hs == "sticky") eval(HideTip) } function htm() { if(sNav) { if(hs!="keep") { move=0; if(hs!="sticky") eval(HideTip) } } } //--> Any ideas/help/advice is greatly appreciated! Thank you! Hello, Im pretty new at JavaScript still, and I am trying to add cookies to a page of my website, so that what is entered into form fields, is retained for future visits. Below is my code, and I am scratching my head as to why it is not working for me! I have viewed a few different cookie tutorials, and so far trying to shape them around what I am seeking, is leading me to my broken code. Javascript: Code: var today = new Date(); var expiry = new Date(today.getTime() + 100 * 24 * 3600 * 1000); function setCookie(name, value) { document.cookie=name + "=" + escape(value) + "; path=/; expires=" + expiry.toGMTString(); } function storeValues(form) { setCookie("name", contact.name.value); setCookie("email", contact.email.value); setCookie("phone", contact.phone.value); return true; } if(name = getCookie("name")) document.contact.name.value = name; if(email = getCookie("email")) document.contact.email.value = email; if(phone =getCookie("phone")) document.contact.phone.value = phone; HTML for the Form Code: <form action="mailto:ksim@dbk.com" method="POST" name="contact" onsubmit="return validateForm();" > <ul> <li> <strong>Name<font color="#5fb81e">*</font></strong> <div><input type="text" size="25" name="name" /></div> </li> <li> <strong>E-mail Address<font color="#5fb81e">*</font></strong> <div><input type="text" size="25" name="email" /></div> </li> <li> <strong>Phone Number<font color="#5fb81e">*</font></strong> <div><input type="text" size="25" name="phone" /></div> </li> <li> <strong>Prefered Type of Contact?<font color="#5fb81e">*</font></strong> <div><input type="radio" name="contact" value="email" id="contactem" /> E-mail<br /> <input type="radio" name="contact" value="phone" id="contactph" /> Phone</div> </li> <li> <strong>Reason For Contact?</strong> <div><input type="checkbox" name="reason" value="showinfo" />Show Information<br /> <input type="checkbox" name="reason" value="groupinfo" />Group Information<br /> <input type="checkbox" name="reason" value="collab" /> Collaboration<br /> <input type="checkbox" name="reason" value="misc" />Misc </div> </li> <li> <strong>What Are You Contacting About?<font color="#5fb81e">*</font></strong> <div><textarea name="message" rows="7" cols="28"></textarea></div> </li> <li> <strong></strong> <div><input type="button" value="Save" conclick="setCookie();"/><button type="reset">Reset</button><button type="submit">Submit</button> </div> </li> </ul> If anyone has some tips to point me in the right direction, and let me see the error of my ways (pun totally intended) I would appreciate it. Okay, first it should be noted I am a complete, 100% neophyte with javascript. I know HTML code pretty well, and I can do quite a bit of PHP as well, but it is all self-taught, so I am hardly an expert... and as I said, java is like French to me. I have a very simple website I've built, nothing complicated or dynamic - but we want to add one feature to this website which I have to say I am at a complete loss about. Basically, I want to have the main page of this website to have a popup form that somebody can plug in their name, email and zipcode load the first time somebody loads the page (which would obviously dump into a database or something), and then the next time the person goes to that page, that popup does not come up again. In other words, I want the feature to behave exactly like this: http://gopleader.gov/ Grey out the background, popup form, place a cookie so that in the future the popup doesn't load again, and that is it. I honestly am no kidding when I say I don't know javascript at all... so I would appreciate somebody helping me out with that in mind (in other words, don't just assume I know where I need to input my own custom values). Does anyone have any ideas here? Iv been looking and trying to get something like this forever but cant find it so can some help: I need a script that when you click the link it has a popup box with a form in it but thats easy to find, what im having trouble finding is a script that when you click submit on the form it stays in the popup box and you could use the information submited in the form. In my index.php form I have a popup form. The user can click on a link on this popup form to call an order processing form. Is there a way for me to call this processing form from the popup and yet still close the popup form? In my index.php form there is also a link to call this order processing form, is there any way to call it from index.php but from the link on the popup form? Thanks... I would like you to ask for a ltl bit assistance. Here is my problem: I have a form with few input lines and textarea, and after a form i have three buttons: [Close] [Preview] [Submit] And here is what i need: Then visitor click [Preview]- the forms data should be passed to pop_up window for preview (something like submited to pop up window) for example "pop_up_preview.php" but the main page should be left at it is (for editing data) But then user clicks [Submit], a forms data is passed to another regular page, for example "validate_data.php" Thank you in advance for assistance and i hope soon to see example how to deal with that And sorry for my poor english Hello, I have been trying to get my html form to submit to a php pop up window so that I can use the user entered data there... so far with little to no success. Here is my current code - Index.html Code: <script> function popup() { win = window.open('','myWin','toolbars=0'); document.post.action='popup.php'; document.post.rel="nofollow" target='myWin'; document.post.submit(); } </script> <div align="center"> <form name="post" action="popup.php" method="post" rel="nofollow" target="_self"> <input type="text" size="85" style="text-align: center" name="txttesturl" /> <br> <input type="button" name="post" class="submit" Value="Pop up" onclick"popup(); " /> </div> </form> popup.php Code: <?php $Testurl = $_POST["txttesturl"]; //Various bits of code ?> Any help would be greatly appreciated, as it stands I am getting NO response from the button. Edit - Nevermind..... I was missing an equals sign in the form ... Hi there i have a simple form in a popup window that was called like this: Code: document.onkeyup = KeyCheck; function KeyCheck(e) { var KeyID = (window.event) ? event.keyCode : e.keyCode; switch(KeyID) { case 40: window.open("?page_id=9","MS_PopUp","width=800,left=100,top=100,height=630,toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=0,copyhistory=1"); break; } } This works well enough. The form has a four fields: Code: <form name="contact_form" id="form1" method="post" action="?page_id=41"> <fieldset> <label class="label" for="name">Your Name: </label> <input tabindex="1" type="text" id="name" name="name" class="input" onload="focus()" /><span id="error_name"> </span><br /> <label class="label" for="email">Your Email: </label> <input tabindex="2" type="text" id="email" name="email" class="input" /><span id="error_email"> </span><br /> <label class="label" for="website">Your Website: </label> <input tabindex="3" type="text" id="website" name="website" class="input" /><span id="error_website"> </span><br /> <label class="label" for="problem">Your Problem: </label> <textarea tabindex="4" class="textarea" name="problem" id="problem" rows="5" cols="10"></textarea><span id="error_problem"> </span><br /> </fieldset> <div class="buttons"> <input tabindex="6" type="button" value="Reset" onclick="resetForm()" /> <input tabindex="5" type="button" value="Send" onclick="popupmail()" /> </div> </form> and the function 'popupmail()' ends with Code: document.contact_form.submit() ; which i used on numerous forms before. after submit, the action URL (?page_id=41) is displayed in the popup window location bar but the page is not! 'page not found'. if i copy & paste the URL and refresh, the page is found. this may not be a JS problem but maybe a popup window limitation. but what do i know? also, this is a wordpress site but i cant see how this is related to wordpress. any idea? When you go to my site at www.nandahosting.co.uk there is a "customer login" popup at the top right hand corner with a remember me tick box. How can i get it so if they have ticked the remember me tick box, to automatically redirect to the page instead of putting there details in again. the output page for the login button is (www.nandahosting.co.uk/front-page) which u can only access if logged in. the css for the popup is Code: function toggle(div_id) { var el = document.getElementById(div_id); if ( el.style.display == 'none' ) { el.style.display = 'block';} else {el.style.display = 'none';} } function blanket_size(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight; } else { viewportheight = document.documentElement.clientHeight; } if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) { blanket_height = viewportheight; } else { if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) { blanket_height = document.body.parentNode.clientHeight; } else { blanket_height = document.body.parentNode.scrollHeight; } } var blanket = document.getElementById('blanket'); blanket.style.height = blanket_height + 'px'; var popUpDiv = document.getElementById(popUpDivVar); popUpDiv_height=blanket_height/2-150;//150 is half popup's height popUpDiv.style.top = popUpDiv_height + 'px'; } function window_pos(popUpDivVar) { if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerHeight; } else { viewportwidth = document.documentElement.clientHeight; } if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) { window_width = viewportwidth; } else { if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) { window_width = document.body.parentNode.clientWidth; } else { window_width = document.body.parentNode.scrollWidth; } } var popUpDiv = document.getElementById(popUpDivVar); window_width=window_width/2-150;//150 is half popup's width popUpDiv.style.left = window_width + 'px'; } function popup(windowname) { blanket_size(windowname); window_pos(windowname); toggle('blanket'); toggle(windowname); } the html code for the "customer login" link is Code: <ul id="toplinkslilo"> <li> <p><a class="custloginpu" href="#" onclick="popup('popUpDiv')">Customer Login</a></p> </li> <li> <p><a href="<%= url_prefix %>blog">Blog</a></p> </li> <li> <p><a href="<%= url_prefix %>forum">Forum</a></p> </li> </ul> the form for whats inside the popup Code: <div id="blanket" style="display:none;"></div> <div id="popUpDiv" style="display:none;"> <div id="tbright"> <a href="#" onclick="popup('popUpDiv')"><img src="<%= url_prefix %>./theme-images/xclose.png" alt="close" style="float: right; width: 30px; height:26px;" class="close"/></a> <h4>Customer Login</h4> <form method='post' action="http://www.nandahosting.co.uk/front-page"> <div id="boxleft"> <p><label for="username2">Username:</label><input name='username' type='text' value='' id='username2'/></p> <p><label for="password">Password:</label><input type='password' name='password' value='' id='password'/></p> <p><label for="permanent">Remember me?</label><input type='checkbox' name='permanent' style="margin: 0 0 20px 10px; width: 13px; float: right; height: 13px;" value='1' id='permanent'/></p> </div> <div id="boxright"> <input name="" type="submit" class="btn" value="Login" style="position: relative;"/> <p class="link"><b>New Customer? - </b><a href="<%= url_prefix %>register">Create an account</a></p> <p class="link"><a href="<%= url_prefix %>password-reminder">Forgotten your Password?</a></p> </div> </form> </div> </div> I have literally been searching on google for the past few days, trying new things and everything. i have honestly really tried my hardest but i can't get around it. would really appreciate if someone could help me. Also i will try and give something to the person who gets this to work for me as it will be worth it as i cannot do it myself. thankyou so much I have three buttons on my form. The user has to be logged in for the buttons to do anything. Is it possible to get an alert to popup on the form page without the form action occuring? If so, how do I go about it?
Hi, I'm trying to make a form that when you click "submit", the original page goes somewhere, and it also creates a popup for the action URL. Currently, I can get the popup portion, but the can't get the original window to redirect somewhere else. this is what I have in the head. Code: <SCRIPT TYPE="text/javascript"> <!-- function popupform(myform, windowname) { if (! window.focus) return true; window.open('', windowname, 'height=200,width=400,scrollbars=no'); myform.target=windowname; return true; } //--> </SCRIPT> And this is what I have in the body Code: <form id="update" action="update.php" method="POST" name="update" onSubmit="popupform(this, 'join')"> I am having trouble getting this code to work correctly. What I am trying to do is on my site i will have a button that will open this popup window with a login form and what i would like it to do is when the form is submitted i want the window to close and the main page to redirect to whatever page i would like it sent to. And if the login information is wrong i would like the popup window to stay open and say that it is wrong in red letters at the top. Here is the code for the popup window: PHP Code: <?php if($target == "LogIn") { if($view == "Form") { echo ' <script language="JavaScript" src="window.js"> </SCRIPT> <style type="text/css"> <!-- body { background-color: #000000; } --> </style> <FORM action="index.php?act=Login&CODE=50" onSubmit="javascript:login();" method="post" name="mlogin"> <p> <font face="verdana" color="#76a5d5" size="1"><B> Username: </b></font><INPUT class="textInput1" style="border: 1px solid #76A5D5; font-family: verdana, helvetica, sans-serif; font-size: 11px; padding: 2px; vertical-align: middle; margin: 0; width: 80px" type="username" size="25" name="username" value="Username"/> <br> <FONT face="verdana" color="#76a5d5" size="1"><B> Password: </b></font><INPUT class="textInput1" style="border: 1px solid #76A5D5; font-family: verdana, helvetica, sans-serif; font-size: 11px; padding: 2px; vertical-align: middle; margin: 0; width: 80px" type="password" size="25" name="password" value="*******"/> <INPUT type="image" src="images/login.jpg" ALT="Click Here to Login!" BORDER="0" ALIGN="middle" value="submit" name="submit"> </p> </form>'; } } ?> Code for the javascript: PHP Code: //Open up a new window with specific dimensions function info(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=100,left = 300,top = 500');"); } <!-- function login() { setTimeout('window.close()',2000); opener.location.href='/main/index.php'; } //--> Any help would be greatly appreciated OK I basically have a form field called prepend and if someone enters something in there I want it to prepend to my form action="" how can I insert anything into action ="" depending on what is entered I hope this makes sense. I AM SO LOST <script type="text/javascript"> function SearchGo(){ var searchField = document.getElementById("SearchInput"); var url = "http://url" document.location = url + encodeURIComponent(searchField.value); } </script> //field where URL will be entered and needs to be prepended <input type="text" name="prepend"> //form output is here <form name="searchform" target="_blank" action="";> <input type="button" value="Search" onClick="SearchGo();"/> I have been working on this code for a few days now. It is suppose to: 1. Remove the default values placed in the textarea. 2. Enter only numbers in the Phone Number field. 3. Verify that the passwords entered in the password fields are the same. 4. Verify everything is filled out, one of the radio buttons is selected and at least one of the check boxes are checked using a Submit() function as well as clear the fields using a Reset() function. I have the first two figured out and was able to get the password to verify once but can not get it to work again with any code. I am also unable to figure out a code that will call all these funtions together in the end to verify everything is filled out and not have the default words count as the field being filled. The idea of a default text is also kind of strange to me. I figured out how to remove the text entered as the value, but how do you get JavaScript to know that is the default and not an option to be used? Code: <!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=utf-8" /> <title>Registration</title> <!--Create a registration form, similar to what you may encounter when registering for an online Web site. Include three sections: Personal Information, Security Information, and Preferences. In the Personal Information section, add name, e-mail address, and telephone fields. Include default text in the name and e-mail text boxes, but write some code that removes the default text from each text box when a user clicks it. Write code for the telephone field that prevents users from entering any values except for numbers. In the Security Information section, add password and password confirmation fields. Write code that ensures that the same value was entered into both fields. Also add a security challenge question selection list and a security answer text box that the Web site will use to help identify a user in the event that he or she loses his or her password. The security challenge selection list should contain questions such as What is your mother's maiden name?, What is the name of your pet?, and What is your favorite color?. In the Preferences section, add radio buttons that confirm whether a user wants special offers sent to his or her e-mail address. Also, include check boxes with special interests the user may be interested in, such as entertainment, business, and shopping. Add submit and reset buttons that call submit() and reset() event handler functions when they are clicked. The submit() event handler function should ensure that the user has entered values into each text box, and that the values submitted are not the same as the default text. The submit() event handler function should also ensure that the user selects a security challenge question, selects a radio button to confirm whether he or she wants special offers sent to his or her e-mail address, and selects at least one interest check box. Submit the form to the FormProcessor.html script (there is a copy in your Cases folder for Chapter 5). Save the document as Registration.html. --> <script language="javascript" type="text/javascript"> // This JavaScript removes default values form field function doClear(theText) { if (theText.value == theText.defaultValue) { theText.value = "" } } // This JavaScript allows characters exept numbers function AcceptLetters(objtextbox) { var exp = /[^\D]/g; objtextbox.value = objtextbox.value.replace(exp,''); } // This JavaScript allows numbers only function AcceptDigits(objtextbox) { var exp = /[^\d]/g; objtextbox.value = objtextbox.value.replace(exp,''); } //This JavaScript confirms everything is filled out function confirmSubmit() { var submitForm = window.confirm("Are you sure you want to submit the form?"); if (document.registar[0].name.value == "Name" || document.registar[0].name.value == "" || document.registar[0].e_mail.value == "E-Mail Address" || document.registar[0].e_mail.value == "" || document.registar[0].phone.value == "" || document.registar[0].phone.value == "" || document.registar[0].password1.value == "" || document.registar[0].password2.value == "" || document.registar[0].sq_answer.value == "Question Answer") { window.alert("You must enter all fields above."); return false; } else return true; } </script> </head> <body> <h1>Registration Page</h1> <form name="registar " method="post" onsubmit="return confirmSubmit()"> <h3>Personal Information</h3> Name:<br /> <input type="text" name="name" value="Name" maxlength=10 id="letters" onFocus="doClear(this)" onkeyup="AcceptLetters(this)" /> <br /> E-Mail:<br /> <input type="text" name="email" value="E-mail Address" onFocus="doClear(this)" /> <br /> Phone Number:<br /> <input type="text" name="phoneNumber" maxlength=10 id="txttest" onFocus="doClear(this)" onkeyup="AcceptDigits(this)" /> <br /> <h3>Security Information</h3> Password:<br /> <input type="password" name="password1" /><br /> Confirm Password:<br /> <input type="password" name="password2" /><br /> <DIV ID="password_result"> </DIV> Security Question:<br /> <select id="selection"><br /> <option value=0>Please Choose One</option> <option value=1>What is your favorite food?</option> <option value=2>What is your Mother's maiden name?</option><br /> <option calue=3>What is your pets name?</option><br /> <option value=4>What is the name of your High School?</option><br /> </select><br /> Answer<br /> <input type="text" name="sq_answer" value="Question Answer" onFocus="doClear(this)" /><br /> <h3>Preferences</h3> Yes<input type="radio" name="confirmAnswer" value="Yes"/>No<input type="radio" name="answer" value="No" />Would you like any special offers sent to your E-mail address?<br /> <h5>Interests</h5> <input type="checkbox" name="interest" value="check"/>Entertainment<br /> <input type="checkbox" name="interest" value="check"/>Shopping<br /> <input type="checkbox" name="interest" value="check"/>Business<br /> <input type="checkbox" name="interest" value="check"/>Exercise<br /> <br /> <input type="submit" value="Submit"/> <input type="reset" value="Reset"/> </form> </body> </html> I am trying to submit my form and receive a success message that go's away. My form validation is working fine and I receive the email, but the echo back to json is giving my error message instead of my success message. This is my first try doing this and am brand new to javascript. If anyone could please help me figure out what is wrong or tell me how to rewrite it, I would be much obliged. Code: function submitForm(formData) { $.ajax({ type: 'POST', url: 'bookings.php', data: formData, dataType: 'json', cache: false, timeout: 7000, success: function(data) { $('form #response').removeClass().addClass((data.error === true) ? 'error' : 'success') .html(data.msg).fadeIn('fast'); if ($('form #response').hasClass('success')) { setTimeout("$('form #response').fadeOut('fast')", 5000); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { $('form #response').removeClass().addClass('error') .html('<strong>There was an error. Please use the above information and contact us directly.</strong>').fadeIn('fast'); }, complete: function(XMLHttpRequest, status) { $('form')[0].reset(); } }); }; Hello, i got a problem with form like this: https://www2.giocarena.com/it-IT/Register/Start.aspx It's possible to set the field Cod Referent????? I've tried with this: <form name="aspForm" method="post" action="https://www2.giocarena.com/it-IT/Register/Start.aspx" target="_blank"> <input type="hidden" name="ctl00$cphBaseContainer$ctl00$txt_code" value="44411122224322445"></input> <button type="submit"> Nome </button> </form> Thank you!Thank you, thank you! Hi I am trying to write a simple script for html form validation before going on to write a more complicated script for the full form which will eventually be on the web page. However, I cannot tell if the javascript is executing or not, as no alert messages come up. If I fill in the form with blanks (which is what the function checkform() checks for) then it should display an alert on submission and return false. Otherwise, returns true. I need to get this licked before going on to the more complex coding, but I really can't see why this doesn't appear to work. I'd be most grateful if some kind soul out there could have a look at it for me.... Links below. Thank you in anticipation! http://www.kellyresources.co.uk/onli...ment_test.html http://www.kellyresources.co.uk/checkform.js Hey guys, I am pretty new at javascript but am trying to learn. Here is a problem I have encountered. I have made a form with various input fields and a set of radio buttons which change the parameters of the form. One of the radio button sets is "Search by X" and "Search by Y" I want the action parameter for the form to change depending on whethere X or Y is selected Code: <FORM name=ENTRY_FORM onSubmit="return Check();" action="pointMeTo()" method="get"> If X is selected then action="http://site.com//doSomething.action" if Y is selected then action="http://site.com//doSomethingElse.action" The way I attempted to do the above(and I am not claiming this to be most efficient, just what comes to mind at the moment) is to create three functions and two global variables. Code: var xyToggler = false; var out = ""; function toggleX(){ xyToggler = false; } function toggleY(){ xyToggler = true; } function pointMeTo(){ if(xyToggler){ out="http://site.com//doSomething.action" } else out="http://site.com//doSomethingElse.action" } Thats the javascript part, now on the html form part: Code: <FORM name=ENTRY_FORM onSubmit="return Check();" action="pointMeTo()" method="get"> <!-- Stuff --> <input type="radio" name="choose" id="X" NAME="rbXY" value="X" onClick="toggleX()" checked/><label for="X">X</label> <input type="radio" name="choose" id="Y" NAME="rbXY" value="Y" onClick="toggleY()" /><label for="Y">Y</label> The logic seems like it would work to me, but when I try it out the results that are expected to come depending on the parameters X or Y are not displayed, in fact nothing is displayed but a msg saying that there is no such link. So I am assuming that means that the function is not properly assigning the corresponding links to the action= field in the form. Many thanks to whoever can spot my error or give me some advise! All the best. |