JavaScript - A Tiny Offer For The Gurus
I have a small need of a thing to be done.
I'm willing to pay $4 via PayPal to anyone who's willing to help. I need this specific module developed;; ---(with all the pages and the form)-- User goes to PAGE1 -- a html page with a form shows up -- the form has 2 radio buttons, A and B (2 choices, either 1 to be made) and a submit button -- when any choice from A or B has been made, and submit button has been clicked, a java-script on the back-end does this;; - read value=V from value.txt --- if V=0 and radiobutton=A, re-write V=A in value.txt, proceed to page-A --- or --- if V=0 and radiobutton=B, re-write V=B in value.txt, proceed to page-B --- or --- if V=A or V=B, do not leave PAGE1 and go no-where This is the plan what comes up in my mind. But to discuss further, what I want is a user to get 2 options, and two pages linked to both the options. And once the user has made the choice, he can't go back to PAGE1 and make the other choice and go to the other page.. Once the choice has been made, the PAGE1 is useless. Also, this has to work on a web-server, i.e. not locally. All the files PAGE1.html, page-A.html, page-B.html and value.txt are be stored online. Similar Tutorialsbasically i need to create a form that has three questions, but the answers have to match my answers...what is the best way to do this (without DB)...i was thinking create an array with the 3 answers then match the fields with the answers in my array...any help is appericated! thanks guys I have a very complicated need for a regex and I need to match certain strings because of pageload tracking. Basically, a param is passed in the url, and on the landing page, I need to read this param and if it matches (see below), then set something to true. Basically this is what I need to match. The are matches of inclusion. case insensitive % = can be anything, number or letter. 1 or more. # = can be any number {color} = can be one of the following: red, orange, silver, green, blue, yellow ********************** shoes_cr_% shirt_recom_img# shirt_recom_name# shirt_favorite_location_% pants_%_lg_1010#_# pants_{color}_c# pants_{color}_d# pants_{color}_long# pants_{color}_g# pants_{color}_h# pants_{color}_j# pants_{color}_k# pants_{color}_lv# pants_{color}_n# pants_{color}_cr_findpants# pants_{color}_cr_img# pants_{color}_cr_name# pants_{color}_cr_seemore# pants_retro_ts# pants_%_r# pants_%_f# ******************************************************** Yes, that is a mouthful. I'd be willing to paypal you $50 for your time, if it works. Need it fast. not sure if the above will do the following: I need to intentionally exclude the following. But I believe by matching for inclusion, this will automatically work. exclude: shoes_{color}_a# shoes_{color}_b# shoes_{color}_i# Thanks hi, I am trying to use Tiny MCE on my website, I have uploaded the correct JS files etc but my page doesn't show the WYSIWYG editor?! Here is what I am trying to use: http://tinymce.moxiecode.com/examples/full.php Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>CMS Edit Pages</title> <meta name="description" content="fibreglass" /> <meta name="keywords" content="fibreglass specialists" /> <meta name="Content-Language" content="en-gb" /> <meta name="robots" content="FOLLOW,INDEX" /> <meta name="revisit-after" content="7 days" /> <meta name="copyright" content="arcangelsuk.com" /> <meta name="author" content="www.mutedesigns.co.uk - Copyright © 2000-2008 Professional web site design in the south uk, worthing, brighton" /> <meta name="distribution" content="Global" /> <meta name="resource-type" content="document" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <!--#include file="includes/functionlib.asp"--> <%logincheck()%> <%opendb() Session.Timeout = 240 UserID = session("UserID") dim rs Set rs = objconn.Execute ("SELECT * FROM members WHERE UserID ="& Session("UserID")) dim ShowStyle : If request("style")="n" then ShowStyle = False Else ShowStyle = True dim UserID : UserID = cint(session("UserID")) set rs1 = objconn.execute("SELECT * FROM Pages WHERE UserID = " & UserID ) %> <link href="admin.css" rel="stylesheet" type="text/css"> </head> <script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager", // Theme options theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Drop lists for link/image/media/template dialogs template_external_list_url : "tinymce/jscripts/tiny_mce/js/template_list.js", external_link_list_url : "tinymce/jscripts/tiny_mce/js/link_list.js", external_image_list_url : "tinymce/jscripts/tiny_mce/js/image_list.js", media_external_list_url : "tinymce/jscripts/tiny_mce/js/media_list.js", // Replace values for the template plugin template_replace_values : { username : "xxx", staffid : "xxx" } }); </script> <body> <h2>Administration:- Edit Pages </h2> <table border="0" cellspacing="0" cellpadding="0" class="copy"> <tr> <td colspan="4"><%= request.QueryString("msg")%></td> </tr> <tr> <td><form name="form1" method="post" action="update_pages.asp"> <table border="0" class="copy"> <tr><td>Title</td></tr> <tr> <td><input name="Title" type="text" class="Form_Fields_big" value="<%= rs1("Title")%>" > </td> </tr> <tr><td>Main Area </td></tr> <tr> <td><textarea id="textarea1" name="content" style="width:100%" rows="12" class="Form_Fields_big"><%= rs1("Body")%></textarea></td> </tr> <tr> <td><textarea name="content" style="width:100%"></textarea></td> </tr> <tr> <td><input name="Submit" type="submit" class="form_buttons" value="Publish page"></td> </tr> </table> </form> <% opendb() set rs = objconn.execute("SELECT COUNT(PageID) AS PageCount FROM Pages WHERE UserID = " & UserID & " AND Pages = 1 ")%> <%IF rs("PageCount") < 6 THEN%> <form action="add_page_script.asp"> <input type="hidden" name="pages" Value="1"> <table border="0" class="copy"> <tr> <td align="center"><input type="submit" name="submit" value="Add Page" class="form_buttons"></td> </tr> </table> </form> <%Else%> <%Response.Write("You can only have up to 6 pages")%> <%End if%> <% set rs = objconn.execute("SELECT * FROM Pages WHERE UserID = " & UserID & " AND Pages = 1") if not rs.eof then %> <table border="0" class="copy"> <tr> <td colspan="4"><hr></td> </tr> <% end if while not rs.eof i = i + 1%><%If i > 1 Then%> <form action="edit_page_script.asp" method="post"> <input type="hidden" name="Pages" Value="1"> <input type="hidden" name="PageID" Value="<% = rs("PageID") %>"> <input type="hidden" name="PageNo" value="<% = i %>"> <tr> <td>Page <% = i %></td> </tr> <tr><td>Title</td></tr> <tr> <td><input name="Title" type="text" class="Form_Fields_big" value="<%= rs("Title")%>" ></td> </tr> <tr><td valign="top">Body<input type="hidden" class="FormFields" name="bnum" value="<% = i %>"></td></tr> <tr> <td><textarea name="content" style="width:100%" id="textarea<% = i %>" rows="12" class="Form_Fields_big"><%= rs("Body")%></textarea></td> </tr> <tr> <td><input type="submit" name="submit" value="Publish page <% = i %>" class="form_buttons"> <a href="delete_page_script.asp?PageID=<% = EncodeID(cint(rs("PageID"))) %>&pages=1" onClick="return confirm('are you sure you want to delete this page?')"><img src="images/delete.gif" width="19" height="21" border="0"></a></td> </tr> </form> <tr> <td colspan="4"><hr></td> </tr> <script language="javascript1.2"> generate_wysiwyg('textarea<% = i %>'); </script> <%end if%> <% rs.movenext wend closedb() set rs = nothing %> </br> </br> </table> </table> <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"> var pageTracker = _gat._getTracker("UA-4786969-1"); pageTracker._initData(); pageTracker._trackPageview(); </script> </body> </html> It's functional and works, it just doesnt "fade in". Anyone know why it's not fading in? Code: function addPerson() { //current keeps track of how many people we have. var strToAdd = '<div id="input" class="ideaInput"><label class="idea">Another Name</label><input name="idea[]" class="idea" type="text"/>' strToAdd += '<label class="description">Description (optional)</label><textarea name="description[]" class="description"></textarea></div>' $('#all-inputs').append(strToAdd); }; $(document).ready(function() { $('#btnAdd').click(function () { $(addPerson).fadeIn('slow') }); }); I have a neat js wyswyg editor that works great. However I can only use existing controls. I would like to add a drop-down style menu where I can define a unique css style for each option. Any suggestions? JS Code: Code: TINY={}; function T$(i){return document.getElementById(i)} function T$$$(){return document.all?1:0} TINY.editor=function(){ var c=[], offset=-30; c['cut']=[1,'Cut','a','cut',1]; c['copy']=[2,'Copy','a','copy',1]; c['paste']=[3,'Paste','a','paste',1]; c['bold']=[4,'Bold','a','bold']; c['italic']=[5,'Italic','a','italic']; c['underline']=[6,'Underline','a','underline']; c['strikethrough']=[7,'Strikethrough','a','strikethrough']; c['subscript']=[8,'Subscript','a','subscript']; c['superscript']=[9,'Superscript','a','superscript']; c['orderedlist']=[10,'Insert Ordered List','a','insertorderedlist']; c['unorderedlist']=[11,'Insert Unordered List','a','insertunorderedlist']; c['outdent']=[12,'Outdent','a','outdent']; c['indent']=[13,'Indent','a','indent']; c['leftalign']=[14,'Left Align','a','justifyleft']; c['centeralign']=[15,'Center Align','a','justifycenter']; c['rightalign']=[16,'Right Align','a','justifyright']; c['blockjustify']=[17,'Block Justify','a','justifyfull']; c['undo']=[18,'Undo','a','undo']; c['redo']=[19,'Redo','a','redo']; c['image']=[20,'Insert Image','i','insertimage','Enter Image URL:','http://']; c['hr']=[21,'Insert Horizontal Rule','a','inserthorizontalrule']; c['link']=[22,'Insert Hyperlink','i','createlink','Enter URL:','http://']; c['unlink']=[23,'Remove Hyperlink','a','unlink']; c['unformat']=[24,'Remove Formatting','a','removeformat']; c['print']=[25,'Print','a','print']; function edit(n,obj){ this.n=n; window[n]=this; this.t=T$(obj.id); this.obj=obj; this.xhtml=obj.xhtml; var p=document.createElement('div'), w=document.createElement('div'), h=document.createElement('div'), l=obj.controls.length, i=0; this.i=document.createElement('iframe'); this.i.frameBorder=0; this.i.width=obj.width||'500'; this.i.height=obj.height||'250'; this.ie=T$$$(); h.className=obj.rowclass||'teheader'; p.className=obj.cssclass||'te'; p.style.width=this.i.width+'px'; p.appendChild(h); for(i;i<l;i++){ var id=obj.controls[i]; if(id=='n'){ h=document.createElement('div'); h.className=obj.rowclass||'teheader'; p.appendChild(h) }else if(id=='|'){ var d=document.createElement('div'); d.className=obj.dividerclass||'tedivider'; h.appendChild(d) }else if(id=='font'){ var sel=document.createElement('select'), fonts=obj.fonts||['Verdana','Arial','Georgia'], fl=fonts.length, x=0; sel.className='tefont'; sel.onchange=new Function(this.n+'.ddaction(this,"fontname")'); sel.options[0]=new Option('Font',''); for(x;x<fl;x++){ var font=fonts[x]; sel.options[x+1]=new Option(font,font) } h.appendChild(sel) }else if(id=='size'){ var sel=document.createElement('select'), sizes=obj.sizes||[1,2,3,4,5,6,7], sl=sizes.length, x=0; sel.className='tesize'; sel.onchange=new Function(this.n+'.ddaction(this,"fontsize")'); for(x;x<sl;x++){ var size=sizes[x]; sel.options[x]=new Option(size,size) } h.appendChild(sel) }else if(id=='colorb'){ var sel=document.createElement('select'), colors=obj.colors||[['Black','black'],['Green','green','0.9em'],['Blue','blue','0.7em']], cl=colors.length, x=0; sel.className='tecustom'; sel.onchange=new Function(this.n+'.ddaction(this,"forecolor")'); for(x;x<cl;x++){ var colord=colors[x]; sel.options[x]=new Option(colord[0],colord[1]) } h.appendChild(sel) } else if(id=='style'){ var sel=document.createElement('select'), styles=obj.styles||[['Style',''],['Bordo','<u>'],['Header 1','<h1>'],['Header 2','<h2>'],['Header 3','<h3>'],['Header 4','<h4>'],['Header 5','<h5>'],['Header 6','<h6>']], sl=styles.length, x=0; sel.className='testyle'; sel.onchange=new Function(this.n+'.ddaction(this,"formatblock")'); for(x;x<sl;x++){ var style=styles[x]; sel.options[x]=new Option(style[0],style[1]) } h.appendChild(sel) }else if(c[id]){ var div=document.createElement('div'), x=c[id], func=x[2], ex, pos=x[0]*offset; div.className=obj.controlclass; div.style.backgroundPosition='0px '+pos+'px'; div.title=x[1]; ex=func=='a'?'.action("'+x[3]+'",0,'+(x[4]||0)+')':'.insert("'+x[4]+'","'+x[5]+'","'+x[3]+'")'; div.onclick=new Function(this.n+(id=='print'?'.print()':ex)); div.onmouseover=new Function(this.n+'.hover(this,'+pos+',1)'); div.onmouseout=new Function(this.n+'.hover(this,'+pos+',0)'); h.appendChild(div); if(this.ie){div.unselectable='on'} } } this.t.parentNode.insertBefore(p,this.t); this.t.style.width=this.i.width+'px'; w.appendChild(this.t); w.appendChild(this.i); p.appendChild(w); this.t.style.display='none'; if(obj.footer){ var f=document.createElement('div'); f.className=obj.footerclass||'tefooter'; if(obj.toggle){ var to=obj.toggle, ts=document.createElement('div'); ts.className=to.cssclass||'toggle'; ts.innerHTML=obj.toggletext||'source'; ts.onclick=new Function(this.n+'.toggle(0,this);return false'); f.appendChild(ts) } if(obj.resize){ var ro=obj.resize, rs=document.createElement('div'); rs.className=ro.cssclass||'resize'; rs.onmousedown=new Function('event',this.n+'.resize(event);return false'); rs.onselectstart=function(){return false}; f.appendChild(rs) } p.appendChild(f) } this.e=this.i.contentWindow.document; this.e.open(); var m='<html><head>', bodyid=obj.bodyid?" id=\""+obj.bodyid+"\"":""; if(obj.cssfile){m+='<link rel="stylesheet" href="'+obj.cssfile+'" />'} if(obj.css){m+='<style type="text/css">'+obj.css+'</style>'} m+='</head><body'+bodyid+'>'+(obj.content||this.t.value); m+='</body></html>'; this.e.write(m); this.e.close(); this.e.designMode='on'; this.d=1; if(this.xhtml){ try{this.e.execCommand("styleWithCSS",0,0)} catch(e){try{this.e.execCommand("useCSS",0,1)}catch(e){}} } }; edit.prototype.print=function(){ this.i.contentWindow.print() }, edit.prototype.hover=function(div,pos,dir){ div.style.backgroundPosition=(dir?'34px ':'0px ')+(pos)+'px' }, edit.prototype.ddaction=function(dd,a){ var i=dd.selectedIndex, v=dd.options[i].value; this.action(a,v) }, edit.prototype.action=function(cmd,val,ie){ if(ie&&!this.ie){ alert('Your browser does not support this function.') }else{ this.e.execCommand(cmd,0,val||null) } }, edit.prototype.insert=function(pro,msg,cmd){ var val=prompt(pro,msg); if(val!=null&&val!=''){this.e.execCommand(cmd,0,val)} }, edit.prototype.setfont=function(){ execCommand('formatblock',0,hType) }, edit.prototype.resize=function(e){ if(this.mv){this.freeze()} this.i.bcs=TINY.cursor.top(e); this.mv=new Function('event',this.n+'.move(event)'); this.sr=new Function(this.n+'.freeze()'); if(this.ie){ document.attachEvent('onmousemove',this.mv); document.attachEvent('onmouseup',this.sr) }else{ document.addEventListener('mousemove',this.mv,1); document.addEventListener('mouseup',this.sr,1) } }, edit.prototype.move=function(e){ var pos=TINY.cursor.top(e); this.i.height=parseInt(this.i.height)+pos-this.i.bcs; this.i.bcs=pos }, edit.prototype.freeze=function(){ if(this.ie){ document.detachEvent('onmousemove',this.mv); document.detachEvent('onmouseup',this.sr) }else{ document.removeEventListener('mousemove',this.mv,1); document.removeEventListener('mouseup',this.sr,1) } }, edit.prototype.toggle=function(post,div){ if(!this.d){ var v=this.t.value; if(div){div.innerHTML=this.obj.toggletext||'source'} if(this.xhtml&&!this.ie){ v=v.replace(/<strong>(.*)<\/strong>/gi,'<span style="font-weight: bold;">$1</span>'); v=v.replace(/<em>(.*)<\/em>/gi,'<span style="font-weight: italic;">$1</span>') } this.e.body.innerHTML=v; this.t.style.display='none'; this.i.style.display='block'; this.d=1 }else{ var v=this.e.body.innerHTML; if(this.xhtml){ v=v.replace(/<span class="apple-style-span">(.*)<\/span>/gi,'$1'); v=v.replace(/ class="apple-style-span"/gi,''); v=v.replace(/<span style="">/gi,''); v=v.replace(/<br>/gi,'<br />'); v=v.replace(/<br ?\/?>$/gi,''); v=v.replace(/^<br ?\/?>/gi,''); v=v.replace(/(<img [^>]+[^\/])>/gi,'$1 />'); v=v.replace(/<b\b[^>]*>(.*?)<\/b[^>]*>/gi,'<strong>$1</strong>'); v=v.replace(/<i\b[^>]*>(.*?)<\/i[^>]*>/gi,'<em>$1</em>'); v=v.replace(/<u\b[^>]*>(.*?)<\/u[^>]*>/gi,'<span style="text-decoration:underline">$1</span>'); v=v.replace(/<(b|strong|em|i|u) style="font-weight: normal;?">(.*)<\/(b|strong|em|i|u)>/gi,'$2'); v=v.replace(/<(b|strong|em|i|u) style="(.*)">(.*)<\/(b|strong|em|i|u)>/gi,'<span style="$2"><$4>$3</$4></span>'); v=v.replace(/<span style="font-weight: normal;?">(.*)<\/span>/gi,'$1'); v=v.replace(/<span style="font-weight: bold;?">(.*)<\/span>/gi,'<strong>$1</strong>'); v=v.replace(/<span style="font-style: italic;?">(.*)<\/span>/gi,'<em>$1</em>'); v=v.replace(/<span style="font-weight: bold;?">(.*)<\/span>|<b\b[^>]*>(.*?)<\/b[^>]*>/gi,'<strong>$1</strong>') } if(div){div.innerHTML=this.obj.toggletext||'wysiwyg'} this.t.value=v; if(!post){ this.t.style.height=this.i.height+'px'; this.i.style.display='none'; this.t.style.display='block'; this.d=0 } } }, edit.prototype.post=function(){ if(this.d){this.toggle(1)} }; return{edit:edit} }(); TINY.cursor=function(){ return{ top:function(e){ return T$$$()?window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop:e.clientY+window.scrollY } } }(); Html code: Code: <script type="text/javascript" src="tinyeditor.js"></script> <body> <textarea id="input" style="width:400px; height:200px"></textarea> <script type="text/javascript"> new TINY.editor.edit('editor',{ id:'input', width:584, height:175, cssclass:'te', controlclass:'tecontrol', rowclass:'teheader', dividerclass:'tedivider', controls:['bold','italic','underline','strikethrough','|','subscript','superscript','|', 'orderedlist','unorderedlist','|','outdent','indent','|','leftalign', 'centeralign','rightalign','blockjustify','|','unformat','|','undo','redo','n', 'font','size','style','|','image','hr','link','unlink','|','cut','copy','paste','print'], footer:true, fonts:['Verdana','Arial','Georgia','Trebuchet MS'], xhtml:true, cssfile:'style.css', bodyid:'editor', footerclass:'tefooter', toggle:{text:'source',activetext:'wysiwyg',cssclass:'toggle'}, resize:{cssclass:'resize'} }); </script> </body> Css code: Code: body { margin: 0; font: 12px Verdana,Arial; background-color: #FFFFFF; } #input {border:none; margin:0; padding:0; font:14px 'Courier New',Verdana; border:0} .te { border: 1px solid #bbb; padding: 0 1px 1px; font: 12px Verdana,Arial; margin: 0px; background-color: #FFFFFF; } .te iframe {border:none} .teheader {height:31px; border-bottom:1px solid #bbb; background:url(images/header-bg.gif) repeat-x; padding-top:1px} .teheader select {float:left; margin-top:5px} .tefont {margin-left:12px} .tesize {margin:0 3px} .testyle {margin-right:12px} .tedivider {float:left; width:1px; height:30px; background:#ccc} .tecontrol { float: left; width: 34px; height: 30px; cursor: pointer; background-image: url(images/icons.png); } .tecontrol:hover {background-color:#fff; background-position:30px 0} .tefooter {height:32px; border-top:1px solid #bbb; background:#f5f5f5} .toggle {float:left; background:url(images/icons.png) -34px 2px no-repeat; padding:9px 13px 0 31px; height:23px; border-right:1px solid #ccc; cursor:pointer; color:#666} .toggle:hover {background-color:#fff} .resize {float:right; height:32px; width:32px; background:url(images/resize.gif) 15px 15px no-repeat; cursor:s-resize} .tecustom { margin: 0 3px; } editor { cursor: text; margin: 5px } |