JavaScript - Please Help! Javascript, Xml, Xslt, Ie6 & Ie8
PLEASE I'M GOING CRAZY... NEARLY 4 MONTHS OF LEARNING... NOW I AM STUCK!
I have been at this a while, have purchased many books and now nearly finished with an enhancement to a project that I started for work. HOWEVER... I cannot get JavaScript/Internet Explorer to pass a variable to a XSL style sheet! I know that the coding works because, if I set a static value in my style sheet, the information displays in my html page without a problem... My problem is passing a parameter from my html to the <xsl:param name="site1" /> via JavaScript I am limited to client side code (data is stored on a SharePoint server) Users must use IE If I set xslProc.addParameter("site1", "Store0003"); in the JavaScript... it does not pass into the xsl sheet. So, I'm sure there is something not working with the xslProc.addParameter function... HELP WILL BE GREATLY APPRECIATED!!!! XSL style sheet Code: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:param name="site1" /> <xsl:template match="/"> <html> <body> <h2>Store Information</h2> <br /> <hr /> <table class="single" border="1"> <tr bgcolor="#FFFFFF"> <th>Store/Site</th> <th>Address</th> <th>City</th> <th>State</th> <th>Zip</th> <th>Telephone Number</th> <th>Technician Name</th> </tr> <xsl:for-each select="StoreList/Stores"> <xsl:if test="SiteName=$site1"> <tr> <td><xsl:value-of select="SiteName"/></td> <td><xsl:value-of select="Address"/></td> <td><xsl:value-of select="City"/></td> <td><xsl:value-of select="State"/></td> <td><xsl:value-of select="Zip"/></td> <td><xsl:value-of select="Phone"/></td> <td><xsl:value-of select="PermTechname"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> XML data Code: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <StoreList> <Stores> <SiteName>Store00003</SiteName> <LocID>Store00003</LocID> <LocName>Store 3</LocName> <Address>1497 ROUTE xxx</Address> <City>TABERNACLE</City> <State>NJ</State> <Zip>08088</Zip> <Phone>1234567890</Phone> <PermTechname>Bear, Yogi</PermTechname> </Stores> <Stores> <SiteName>Store00006</SiteName> <LocID>Store00006</LocID> <LocName>Store 6</LocName> <Address>BEACON STREET</Address> <City>BROOKLINE</City> <State>MA</State> <Zip>02446</Zip> <Phone>0123456789</Phone> <PermTechname>Red, Fox</PermTechname> </Stores> </StoreList> JavaScript (external file) Code: var store = document.getElementById("searchField") // // function which loads table from XSL to browser based on user selection // function displayResult(){ if(document.implementation && document.implementation.createDocument){ // Mozilla var xsltProcessor = new XSLTProcessor(); // load the xsl file var myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "sitesearch.xsl", false); myXMLHTTPRequest.send(null); // get the XML document xslStylesheet = myXMLHTTPRequest.responseXML; xsltProcessor.importStylesheet(xslStylesheet); // load the xml file myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "store_list_data.xml", false); myXMLHTTPRequest.send(null); var xmlSource = myXMLHTTPRequest.responseXML; // set the parameters xsltProcessor.setParameter(null, "site1", store); //transform and display var resultDocument = xsltProcessor.transformToFragment(xmlSource, document); document.getElementById("results").appendChild(resultDocument); // IE }else if(window.ActiveXObject){ // Load XML var xslt = new ActiveXObject("Msxml2.XSLTemplate.3.0"); var xsldoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0"); var xslproc; xsldoc.async = false; xsldoc.load("sitesearch.xsl"); xslt.stylesheet = xsldoc; var xmldoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); xmldoc.async = false; xmldoc.load("Store_List_data.xml"); xslproc = xslt.createProcessor(); xslproc.input = xmldoc; xslproc.addParameter("site1", store); xslproc.transform(); document.getElementById("results").innerHTML=xmldoc.transformNode(xsldoc); } } HTML 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" xml:lang="en" xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"> <head> <title>Home | Search</title> <script type='text/javascript' src='scripts/jquery/jQuery.js'></script> <script type='text/javascript' src='/javascript/loadStores.js'></script> <script type='text/javascript' src='/javascript/attachstyle_w_param.js'></script> <link type="text/css" rel="stylesheet" href="/css/rcshome.css"/> <!--[if gte mso 9]><xml> <mso:CustomDocumentProperties> <mso:Keywords msdt:dt="string"></mso:Keywords> <mso:ContentType msdt:dt="string">Office Data Connection File</mso:ContentType> <mso:Comments msdt:dt="string"></mso:Comments> </mso:CustomDocumentProperties> </xml><![endif]--> </head> <body> <a href="home/default.aspx"> <img border="0px" src="images/header/cvs_caremark_minuteclinic.jpg"/> </a> <a href="/Manuals/AllItems.aspx" rel="nofollow" target="_blank"><em>Link to Manuals</em></a> <hr /> <form action='javascript:void(0);' method='post'> <h2>Please enter the store or site number below:</h2> <input type="text" id="searchField" autocomplete="off" /> <button onclick="initAll()">Get List (auto complete box)</button> <div id="information">*Use 5 digit format (12345)</div> <br /> <div id="popups"></div> <hr /> <fieldset> <button onclick="displayResult()">Display Search Results</button> <div id="results" /> </div> </fieldset> </form> <hr /> </body> </html> Similar TutorialsComplete and utter newb here, so I apologize in advance. I'm trying to create a widget for a website that will show the Recent Comments, but will limit what is shown to 1 comment per unique thread. The idea being that the popular threads don't drown out the unpopular threads in the widget. Alas, I do not know Javascript. I am, however, proficient in XSLT. So I mapped out a little transform to get (essentially) what I want, thus: Input: http://anamardoll.disqus.com/latest.rss XSLT: Code: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template name="RSS_Feed" match="rss"> <xsl:value-of select="'
'"/> <!-- ITERATE THROUGH ALL POST NODES --> <xsl:for-each select="//item"> <!-- IF NOT PREVIOUSLY USED --> <xsl:if test="not(preceding-sibling::item/child::title/node() = current()/child::title/node())"> <xsl:value-of xmlns:dc="http://purl.org/dc/elements/1.1/" select="child::dc:creator/node()"/> <xsl:value-of select="(' posted on 
')"/> <xsl:value-of select="substring-after(child::title/node(), 'Ramblings: ')"/> <xsl:value-of select="('
')"/> <xsl:value-of select="child::link/node()"/> <xsl:value-of select="('

')"/> </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> Output: Code: Ana Mardoll posted on Twilight: It's All About The Protagonist, Baby http://www.anamardoll.com/2011/09/twilight-its-all-about-protagonist-baby.html#comment-320798527 Thepepboy posted on eReader: Running CM7 on a Nook Color from SD Card (REPOST) http://www.anamardoll.com/2011/07/ereader-running-cm7-on-nook-color-from.html#comment-320690496 Jckeeml posted on Narnia: The Clean and Tidy Poor http://www.anamardoll.com/2011/09/narnia-clean-and-tidy-poor.html#comment-320649311 chris the cynic posted on Metapost: Newsletter Subscriptions http://www.anamardoll.com/2011/09/metapost-newsletter-subscriptions.html#comment-320586205 (And here is why I say the output is "essentially" what I want -- I'd PREFER the links to be linked around the preceding texts, but that's an advanced step at this point in the game.) Is there an easy way in Javascript to just invoke an XSLT on a webpage and display the results? I've read online that there is, but can find no examples that work for me. I do appreciate any help provided and thank you in advance! (Also, for background: This will be going into the Blogger HTML/Javascript Widget tool, so... yeah.) Hello! I am trying to find a script that allows you to open multiple browser tabs and then close each of those tabs, either one by one or all at once. Does anyone know how to do this please? Thanks so much for your help. I want to have another go at Javascript. I have several books on the subject but I find that my eyesight is a major problem. Therefore I want to try an on-line solution, preferably free. I have Googled, but there are so many that I am almost dizzy with the choices. Perhaps someone could recommend one. Not too fussy visually. My knowledge is VERY basic. Frank Does anyone know how to make URL links that use Javascript still work when users have Javascript disabled on their browser? The only reason I'm using JS on a URL is because my link opens a PDF file, and I'm forcing it not to cache so users have the latest version. I tried the <script><noscript> tags, but I'm not sure if I'm using it correctly, as my URL completely disappears. Below is my HTML/Javascript code: <p class="download"> <script type="text/javascript">document.write("<span style=\"text-decoration: underline;\"><a href=\"javascript:void(0);\" onclick=\"window.open( 'http://www.webchild.com.au/mediakit/Direct_Media_Kit_Web.pdf?nocache='+ Math.floor( Math.random()*11 ) );\" >The Child Magazines Media Kit</a></span> (PDF 1 MB) ");</script> <noscript><span style="text-decoration: underline;"><a href="http://www.webchild.com.au/mediakit/Direct_Media_Kit_Web.pdf" >The Child Magazines Media Kit</a></span> (PDF 1 MB)</noscript> </p> Thanks for any help, Michael Hi, I have the following code snippet: test.html ====== <script language="javascript" type="text/javascript"> var testVariable = "test"; </script> <script language="javascript" type="text/javascript" src="test.js"> </script> test.js ===== var testVariable = window.top.testVariable; In firefox, I'm able to access testvariable defined within test.html in test.js. But in chrome, test.js couldnot get the window.top.testVariable field defined in test.html. Can any one please let me know how i can make it work in chrome?. Am i missing something here?. Hi Guys, I am new at JavaScript and start to do some tutorials.What I am trying to do here is prompting user to input a name and if the name was valid the page(document) will display with all objects like the button.But if user enter a wrong name then the button will be disabled! I create the following code but it did not work <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>New Web Project</title> <script language="JavaScript" type=""> function changeColor(){ document.bgColor = "Gray"; } </script> </head> <body> <script language="JavaScript" type="text/javascript"> var person = ""; person = prompt('What is Your Name:'); if (person == "Foo") { document.write("<h1 />Welcome " + person); document.bgColor = "Yellow"; } else { document.write("<h1 />Access Denied!!!!"); document.bgColor = "Red"; document.getElementById("gree").disabled = true; } </script> <div> <p/><input id="gree" type="button" value="Gray " onClick="changeColor();"> </div> </body> </html> as you can see I used the: document.getElementById("gree").disabled = true; but it did not work , could you please give an idea how I can solve this problem? Thanks Hi Guys I am trying to modify the functionality of my page. I want to be able to activate this piece of code using another javascript function. This is the code I want to activate: Code: <script type="text/javascript"><!-- $('#button-cart').bind('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/update', type: 'post', data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea, .date_data input[type=\'text\']'), dataType: 'json', success: function(json) { $('.success, .warning, .attention, information, .error').remove(); if (json['error']) { if (json['error']['warning']) { $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); $('.warning').fadeIn('slow'); } for (i in json['error']) { $('#option-' + i).after('<span class="error">' + json['error'][i] + '</span>'); } } if (json['success']) { $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); $('.success').fadeIn('slow'); $('#cart_total').html(json['total']); $('html, body').animate({ scrollTop: 0 }, 'slow'); } } }); }); //--></script> And this is how I want the format of the function to be: function testsession() { if there is a session called 'hiredate' { activate the script above } else { var el = document.getElementById("product_data"); } } I just dont know how to write this in javascript Could you help me if possible please Hey, I've got to make the values of some textboxes change the co-ordinates of my sprite on a canvas and havent a clue on how to do it, Here is my form with the two textboxes and submit button: <form> x: <input type="text" name="x" /><br /> y: <input type="text" name:"y" /><br /> <input type="submit" value="Submit"/><br /> </form> And i need it so that they change the values of these: //this shows where my sprite will start on the canvas var block_x; var block_y; searched the internet for hours and cant really find anything i understand or works. any help is much appreciated I want to insert this js snippet Code: function addText(smiley) { document.getElementById('message').value += " " + smiley + " "; document.getElementById('message').focus(); return false; } to a loaded iframe with name&id chtifrm. I can access it & change embed something in its html via using something like: Code: $(parent.chtifrm.document.body).append('<div id=\"smly\" style=\"cursor:pointer;float:left;top:200px;display:none;position:absolute;\"><\/div>'); .... Code: parent.chtifrm.document.getElementById('chatbox_option_disco').style.display == 'none' but how do I insert js in the head of loaded iframe? I got an index.php Code: <html> <form action="bacakomik.php" method='post'> <select name="kodekomik"> <option value='../komik1/|23'>Judul Komik1</option> <option value="../komik2/|20">Judul Komik2</option> <option value="../komik3/|10">Juduk Komik3</option> <option value="../komik4/|20">Judul Komik4</option> </select> <input type="submit" /> </form> <?php echo ('<select>'); echo ('<option value= "'.$i.'">'.'Page '.$i.'</option>'); echo ('</select>'); ?> </html> As you can see, each of the option brings specific value "../komik1/|23" komik1 is a directory | is a delimiter 23 is the pages in one chapter and can be considered also as how many images are there on a specific directory This is my bacakomik.php Code: <?php $dirkomik = $_POST['kodekomik']; $exploded = explode("|", $dirkomik); echo ($exploded[0]); //picture directory echo ("<br>"); echo ($exploded[1]); //total page in the comic $pagecount = (int)$exploded[1]; //Take last posted value, process it right away echo ('<FORM name="guideform"> '); echo ('<select name="guidelinks">'); $i=1; do { echo ('<option value= "'.$i.'">'.'Page '.$i.'</option>'); $i= $i+1; }while($i <= $pagecount); //Printing option and select echo ("</select>"); ?> <input type="button" name="go" value="Go!" onClick="document.getElementById('im').src=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value+'.png';"> </FORM> <img src="img0.jpg" id="im"> With the current code on bacakomik.php, I only can change the img src of id "im" in the same directory only. What I want is that the Javascript could "add" the "$exploded[0]" variable so that the picture can be loaded from different directory. Anyone can do this? I believe that the fix should be somewhere on input tag inside OnClick, or do you know where? Anyway, I found this on the net http://p2p.wrox.com/php-faqs/11606-q...avascript.html Please help me to those who can... All -- I have a JavaScript config file called gameSetting.js which contains a bunch of variables which configures a particular game. I also have a shared JavaScript library which uses the variables in gameSetting.js, which I include like so: <script type="text/javascript" src="gameSetting.js" ></script> <script type="text/javascript" src="gameLibrary.js" ></script> In gameSetting.js I have: $(document).ready(function() { // call some functions / classes in gameLibrary.js } in Firefox, Safari, and Chrome, this works fine. However, in IE, when it's parsing gameSetting.js, it complains that the functions that live in gameLibrary.js aren't defined. When it gets to parsing gameLibrary.js, the variables in gameSetting.js are reported as not being defined. I've tried dynamically bootstrapping the gameLibrary file using this function in document.ready for dynamic load... $.getScript("gameLibrary.js"); However, the same problem still happens in IE, where when it parses the files individually it's not taking into context the file/variables that came before, so it's not an out of load order problem. My options a 1) collapsing all the functions in gameLibrary.js and variables in gameSetting.js into one file. However, this is not practical because this is dealing with literally hundreds of games, and having a gameLibrary.js in ONE location for ONE update is what makes most logical sense. 2) figure out a way to get this to work where variables in file1 are accessible to file2 in IE (as it seems they are in other browsers). jQuery seems to be able to have multiple plugins that all refer to the based jQuery-1.3.2.js, so I know there is a way to get this to work. Help appreciated. Nero I wrote a log function that took note of various function calls. Thinking that functions are first class objects, and objects have properties, I made the name of each logged function a property of that function, e.g., brightenInnerPara.name = "brightenInnerPara"; Every browser I tried (Firefox, MSIE, Opera, Chrome, Safari) accepted the assignment, no problem. In Firefox and MSIE, the result was what I wanted: brightenInnerPara.name == "brightenInnerPara" But in the others, the result was: brightenInnerPara.name == null Question 1. Which Javascript is correct here? I favor Firefox and MSIE, not merely because they were willing to give me what I wanted, but also because it makes no sense to accept an assignment statement without throwing an error and then give it a null semantics, like Chrome, Opera, and Safari did. I found a workaround, using assignments like this: brightenInnerPara.prototype.name = "brightenInnerPara"; To my surprise, that worked in every browser. But I don't know why. It seems that such assignments are enough to cause each function to have its own distinct prototype. Question 2. Just how inefficient is my workaround, and why does it work? I have this js function on modalpopupextender which has a button. when you click the button, it shows a progress bar on parent page, till it gets all the data, but not i want to hide that progress bar div when parent page reloads after getting data. I am not sure how to do that, and I need to do that on modal page, since there could be any number of parent pages with that modal. I have my sample code here, let me know the window.parent function doesnot work. <style type="text/css"> .loading {display:none; position:absolute; padding:5px; border:solid 1px #888888; background-color:#fff; width:93px; z-index:20001; filter:alpha(opacity=80); opacity:0.8;} </style> <asp:ImageButton ImageUrl="~/Images/ExcelIcon.gif" runat="server" ID="Excel" CausesValidation="false" style="cursor:hand;" /> <br /> <asp:Label ID="lblExportExcel" runat="server" SkinID="ToolBarIconLabel">Excel</asp:Label> <script type="text/javascript"> function ShowProgress() { document.getElementById("ind").style.display = "inline"; } window.parent.onload = function() { document.getElementById("ind").style.display = "none"; } </script> <!-- Pop Up Form --> <div style="position: fixed; top: 0px; left: 0px;"> <asp:Panel ID="ExportExcelPanel" runat="server" SkinID="ModalPopUp_Panal" style="display:none"> <table class="ModalPopUp_Table" cellpadding="0" cellspacing="0" > <tr> <th colspan="2"> <asp:Panel ID="ExportExcelDragPanel" runat="server">Export Excel</asp:Panel> </th> </tr> <tr><td style="text-align: right;">Description:</td><td><asp:TextBox ID="descriptionBox" runat="server" TextMode="MultiLine" Height="60" Width="300"></asp:TextBox></td></tr> </table> <asp:ValidationSummary ID="ValidationSummary_ExportPDF" SkinID="ModalPopUp_ValidationSummary" runat="server" ValidationGroup="ExportPDF"/> <div class="BtnSumbit_Container"> <asp:Button ID="ExportExcelButton" runat="server" Text="Export Excel" OnClick="Excel_Click" CssClass="BtnSubmit" OnClientClick="ShowProgress();" UseSubmitBehavior="false" /> <asp:Button ID="CancelViewButton" runat="server" Text="Cancel" CssClass="BtnSubmit" /> </div> </asp:Panel> </div> <div class="loading" id="ind">Processing...</div> <actk:ModalPopupExtender ID="ExportExcelModalExtender" runat="server" SkinID="MPE_ReportFunction" PopupControlID="ExportExcelPanel" PopupDragHandleControlID="ExportExcelDragPanel" TargetControlID="Excel" CancelControlID="CancelViewButton" OkControlID="ExportExcelButton" Y="150" > </actk:ModalPopupExtender> Sir i have a problem that, in head tag i have a easyslider script that working well, now i want to add new script of lightbox for image viewing but it does not working, when i remove the slider script files then lightbox working properly but when i add slider scripts files then lightbox not working, may be some function have same names or may be other problem i do not know. plz help me I designed a simple mobile in html , i want to link it to strings such that.... example : there are numbers from 0 to 9 and when ever i click on a number and then click on another after all the click i made and at last when i click on the " dial" (for example purpose) it should prompt all the numbers in sequence where i click. example to make it clear for my purpose : 1 2 3 4 5 6 7 8 9 * 0 # Dial (button) I clicked on "4" then "6" then "9" and then i hit the "dial" button the it shold show an alert box displaying "469" . I think it isn't a big challenge for you javascript coders. Please post the whole javascript code for this function, also the id's defined to the html separetly by you I am just learning and up on queries , so want your help Thaks a ton Hey guys I know this might have been discussed before but i can't find it anywhere. I'm trying to write javascript with javascript.... simple right well the problem is in my script i have javascript writing the </script> line like this Code: <script type="text/javascript"> if (!Array.prototype.forEach) { Array.prototype.forEach = function(fun, thisp) { var len = this.length; if (typeof fun != "function") throw new TypeError(); var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in this) fun.call(thisp, this[i], i, this); } }; } var typeArray = function (x) { document.writeln('<script type="text/javascript">observe(x); </script> '); } var myArray = [1,2,3,4,5]; myArray.forEach(typeArray); </script> When this code is ran it ends at the first </script> tag and you see all the code after it as just text. i need this code to work because the function observe(); is an observer and has to be in the code for each instance of x. but when the </script> tag is written, even inside the "" it ends the code. Is there any way to write the </script> tag inside of javascript without ending the code?? sorry about my english... i have logo slider in javascript this is the code: var displayWaitMessage=true; // Display a please wait message while images are loading? var activeImage = false; var imageGalleryLeftPos = false; var imageGalleryWidth = false; var imageGalleryObj = false; var maxGalleryXPos = false; var slideSpeed = -1; var imageGalleryCaptions = new Array(); function startSlide(e) { if(document.all)e = event; var id = this.id; if(this.id=='arrow_right'){ slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5); slideSpeed = -1*slideSpeedMultiply; slideSpeed = Math.max(-10,slideSpeed); }else{ slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5); slideSpeed = 1*slideSpeedMultiply; slideSpeed = Math.min(10,slideSpeed); if(slideSpeed<0)slideSpeed=10; } } function releaseSlide() { var id = this.id; slideSpeed=-1; } function gallerySlide() { if(slideSpeed!=0){ var leftPos = imageGalleryObj.offsetLeft; leftPos = leftPos/1 + slideSpeed; if(leftPos>maxGalleryXPos){ leftPos = maxGalleryXPos; slideSpeed = 0; } if(leftPos<minGalleryXPos){ leftPos = minGalleryXPos; slideSpeed=0; } imageGalleryObj.style.left = leftPos + 'px'; } setTimeout('gallerySlide()',50); } function showImage() { if(activeImage){ activeImage.style.filter = 'alpha(opacity=50)'; activeImage.style.opacity = 0.5; } this.style.filter = 'alpha(opacity=100)'; this.style.opacity = 1; activeImage = this; } function initSlideShow() { document.getElementById('arrow_left').onmousemove = startSlide; document.getElementById('arrow_left').onmouseout = releaseSlide; document.getElementById('arrow_right').onmousemove = startSlide; document.getElementById('arrow_right').onmouseout = releaseSlide; imageGalleryObj = document.getElementById('theImages'); imageGalleryLeftPos = imageGalleryObj.offsetLeft; imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 80; maxGalleryXPos = imageGalleryObj.offsetLeft; minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft; var slideshowImages = imageGalleryObj.getElementsByTagName('IMG'); for(var no=0;no<slideshowImages.length;no++){ slideshowImages[no].onmouseover = showImage; } var divs = imageGalleryObj.getElementsByTagName('DIV'); for(var no=0;no<divs.length;no++){ if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML; } gallerySlide(); } function showPreview(imagePath,imageIndex){ var subImages = document.getElementById('previewPane').getElementsByTagName('IMG'); if(subImages.length==0){ var img = document.createElement('IMG'); document.getElementById('previewPane').appendChild(img); }else img = subImages[0]; if(displayWaitMessage){ document.getElementById('waitMessage').style.display='inline'; } document.getElementById('largeImageCaption').style.display='none'; img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); }; img.src = imagePath; } function hideWaitMessageAndShowCaption(imageIndex) { document.getElementById('waitMessage').style.display='none'; document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex]; document.getElementById('largeImageCaption').style.display='block'; } window.onload = initSlideShow; now when it's get to the last logo the slider is stop, and you can move with the arrow right and left and want to change that the slider don't stop and keep move in looping. i really need help! thank you very much. I downloaded a javascript file that works GREAT. It shows and hides div's in the code on demand. My problem is that in my code the divs in question are forms that are submitted. The handler for the forms is the same page. So the first time I visit the page all the sections are hidden. I expand a div, add some information and submit. Then the page refreshes and all divs are hidden again. I have to reexpand the div again to continue my work. Not a HUGE deal except when I have a ton of data entry to do. So I have a plan. I have created a table in the data base to hold a 1/0 value. I want the javascript that shows the sections to simply check the table. IE if the page is loaded, check the database to see which sections should be hidden and which should be visible. I THINK the place to add it is the fuction called "showhide" on line 53 but I'm not sure if that's correct nor do I have any idea how to make it accept the value from the database. Whew! I hope I made that clear. Below is the code for the javascript and the code of the webpage in question. Can anyone help? Code: //** Animated Collapsible DIV v2.0- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com. //** May 24th, 08'- Script rewritten and updated to 2.0. //** June 4th, 08'- Version 2.01: Bug fix to work with jquery 1.2.6 (which changed the way attr() behaves). //** March 5th, 09'- Version 2.2, which adds the following: //1) ontoggle($, divobj, state) event that fires each time a DIV is expanded/collapsed, including when the page 1st loads //2) Ability to expand a DIV via a URL parameter string, ie: index.htm?expanddiv=jason or index.htm?expanddiv=jason,kelly //** March 9th, 09'- Version 2.2.1: Optimized ontoggle event handler slightly. //** July 3rd, 09'- Version 2.4, which adds the following: //1) You can now insert rel="expand[divid] | collapse[divid] | toggle[divid]" inside arbitrary links to act as DIV togglers //2) For image toggler links, you can insert the attributes "data-openimage" and "data-closedimage" to update its image based on the DIV state var animatedcollapse={ divholders: {}, //structu {div.id, div.attrs, div.$divref, div.$togglerimage} divgroups: {}, //structu {groupname.count, groupname.lastactivedivid} lastactiveingroup: {}, //structu {lastactivediv.id} preloadimages: [], show:function(divids){ //public method if (typeof divids=="object"){ for (var i=0; i<divids.length; i++) this.showhide(divids[i], "show") } else this.showhide(divids, "show") }, hide:function(divids){ //public method if (typeof divids=="object"){ for (var i=0; i<divids.length; i++) this.showhide(divids[i], "hide") } else this.showhide(divids, "hide") }, toggle:function(divid){ //public method if (typeof divid=="object") divid=divid[0] this.showhide(divid, "toggle") }, addDiv:function(divid, attrstring){ //public function this.divholders[divid]=({id: divid, $divref: null, attrs: attrstring}) this.divholders[divid].getAttr=function(name){ //assign getAttr() function to each divholder object var attr=new RegExp(name+"=([^,]+)", "i") //get name/value config pair (ie: width=400px,) return (attr.test(this.attrs) && parseInt(RegExp.$1)!=0)? RegExp.$1 : null //return value portion (string), or 0 (false) if none found } this.currentid=divid //keep track of current div object being manipulated (in the event of chaining) return this }, showhide:function(divid, action){ var $divref=this.divholders[divid].$divref //reference collapsible DIV if (this.divholders[divid] && $divref.length==1){ //if DIV exists var targetgroup=this.divgroups[$divref.attr('groupname')] //find out which group DIV belongs to (if any) if ($divref.attr('groupname') && targetgroup.count>1 && (action=="show" || action=="toggle" && $divref.css('display')=='none')){ //If current DIV belongs to a group if (targetgroup.lastactivedivid && targetgroup.lastactivedivid!=divid) //if last active DIV is set this.slideengine(targetgroup.lastactivedivid, 'hide') //hide last active DIV within group first this.slideengine(divid, 'show') targetgroup.lastactivedivid=divid //remember last active DIV } else{ this.slideengine(divid, action) } } }, slideengine:function(divid, action){ var $divref=this.divholders[divid].$divref var $togglerimage=this.divholders[divid].$togglerimage if (this.divholders[divid] && $divref.length==1){ //if this DIV exists var animateSetting={height: action} if ($divref.attr('fade')) animateSetting.opacity=action $divref.animate(animateSetting, $divref.attr('speed')? parseInt($divref.attr('speed')) : 500, function(){ if ($togglerimage){ $togglerimage.attr('src', ($divref.css('display')=="none")? $togglerimage.data('srcs').closed : $togglerimage.data('srcs').open) } if (animatedcollapse.ontoggle){ try{ animatedcollapse.ontoggle(jQuery, $divref.get(0), $divref.css('display')) } catch(e){ alert("An error exists inside your \"ontoggle\" function:\n\n"+e+"\n\nAborting execution of function.") } } }) return false } }, generatemap:function(){ var map={} for (var i=0; i<arguments.length; i++){ if (arguments[i][1]!=null){ //do not generate name/value pair if value is null map[arguments[i][0]]=arguments[i][1] } } return map }, init:function(){ var ac=this jQuery(document).ready(function($){ animatedcollapse.ontoggle=animatedcollapse.ontoggle || null var urlparamopenids=animatedcollapse.urlparamselect() //Get div ids that should be expanded based on the url (['div1','div2',etc]) var persistopenids=ac.getCookie('acopendivids') //Get list of div ids that should be expanded due to persistence ('div1,div2,etc') var groupswithpersist=ac.getCookie('acgroupswithpersist') //Get list of group names that have 1 or more divs with "persist" attribute defined if (persistopenids!=null) //if cookie isn't null (is null if first time page loads, and cookie hasnt been set yet) persistopenids=(persistopenids=='nada')? [] : persistopenids.split(',') //if no divs are persisted, set to empty array, else, array of div ids groupswithpersist=(groupswithpersist==null || groupswithpersist=='nada')? [] : groupswithpersist.split(',') //Get list of groups with divs that are persisted jQuery.each(ac.divholders, function(){ //loop through each collapsible DIV object this.$divref=$('#'+this.id) if ((this.getAttr('persist') || jQuery.inArray(this.getAttr('group'), groupswithpersist)!=-1) && persistopenids!=null){ //if this div carries a user "persist" setting, or belong to a group with at least one div that does var cssdisplay=(jQuery.inArray(this.id, persistopenids)!=-1)? 'block' : 'none' } else{ var cssdisplay=this.getAttr('hide')? 'none' : null } if (urlparamopenids[0]=="all" || jQuery.inArray(this.id, urlparamopenids)!=-1){ //if url parameter string contains the single array element "all", or this div's ID cssdisplay='block' //set div to "block", overriding any other setting } else if (urlparamopenids[0]=="none"){ cssdisplay='none' //set div to "none", overriding any other setting } this.$divref.css(ac.generatemap(['height', this.getAttr('height')], ['display', cssdisplay])) this.$divref.attr(ac.generatemap(['groupname', this.getAttr('group')], ['fade', this.getAttr('fade')], ['speed', this.getAttr('speed')])) if (this.getAttr('group')){ //if this DIV has the "group" attr defined var targetgroup=ac.divgroups[this.getAttr('group')] || (ac.divgroups[this.getAttr('group')]={}) //Get settings for this group, or if it no settings exist yet, create blank object to store them in targetgroup.count=(targetgroup.count||0)+1 //count # of DIVs within this group if (jQuery.inArray(this.id, urlparamopenids)!=-1){ //if url parameter string contains this div's ID targetgroup.lastactivedivid=this.id //remember this DIV as the last "active" DIV (this DIV will be expanded). Overrides other settings targetgroup.overridepersist=1 //Indicate to override persisted div that would have been expanded } if (!targetgroup.lastactivedivid && this.$divref.css('display')!='none' || cssdisplay=="block" && typeof targetgroup.overridepersist=="undefined") //if this DIV was open by default or should be open due to persistence targetgroup.lastactivedivid=this.id //remember this DIV as the last "active" DIV (this DIV will be expanded) this.$divref.css({display:'none'}) //hide any DIV that's part of said group for now } }) //end divholders.each jQuery.each(ac.divgroups, function(){ //loop through each group if (this.lastactivedivid && urlparamopenids[0]!="none") //show last "active" DIV within each group (one that should be expanded), unless url param="none" ac.divholders[this.lastactivedivid].$divref.show() }) if (animatedcollapse.ontoggle){ jQuery.each(ac.divholders, function(){ //loop through each collapsible DIV object and fire ontoggle event animatedcollapse.ontoggle(jQuery, this.$divref.get(0), this.$divref.css('display')) }) } //Parse page for links containing rel attribute var $allcontrols=$('a[rel]').filter('[rel^="collapse["], [rel^="expand["], [rel^="toggle["]') //get all elements on page with rel="collapse[]", "expand[]" and "toggle[]" $allcontrols.each(function(){ //loop though each control link this._divids=this.getAttribute('rel').replace(/(^\w+)|(\s+)/g, "").replace(/[\[\]']/g, "") //cache value 'div1,div2,etc' within identifier[div1,div2,etc] if (this.getElementsByTagName('img').length==1 && ac.divholders[this._divids]){ //if control is an image link that toggles a single DIV (must be one to one to update status image) animatedcollapse.preloadimage(this.getAttribute('data-openimage'), this.getAttribute('data-closedimage')) //preload control images (if defined) $togglerimage=$(this).find('img').eq(0).data('srcs', {open:this.getAttribute('data-openimage'), closed:this.getAttribute('data-closedimage')}) //remember open and closed images' paths ac.divholders[this._divids].$togglerimage=$(this).find('img').eq(0) //save reference to toggler image (to be updated inside slideengine() ac.divholders[this._divids].$togglerimage.attr('src', (ac.divholders[this._divids].$divref.css('display')=="none")? $togglerimage.data('srcs').closed : $togglerimage.data('srcs').open) } $(this).click(function(){ //assign click behavior to each control link var relattr=this.getAttribute('rel') var divids=(this._divids=="")? [] : this._divids.split(',') //convert 'div1,div2,etc' to array if (divids.length>0){ animatedcollapse[/expand/i.test(relattr)? 'show' : /collapse/i.test(relattr)? 'hide' : 'toggle'](divids) //call corresponding public function return false } }) //end control.click })// end control.each $(window).bind('unload', function(){ ac.uninit() }) }) //end doc.ready() }, uninit:function(){ var opendivids='', groupswithpersist='' jQuery.each(this.divholders, function(){ if (this.$divref.css('display')!='none'){ opendivids+=this.id+',' //store ids of DIVs that are expanded when page unloads: 'div1,div2,etc' } if (this.getAttr('group') && this.getAttr('persist')) groupswithpersist+=this.getAttr('group')+',' //store groups with which at least one DIV has persistance enabled: 'group1,group2,etc' }) opendivids=(opendivids=='')? 'nada' : opendivids.replace(/,$/, '') groupswithpersist=(groupswithpersist=='')? 'nada' : groupswithpersist.replace(/,$/, '') this.setCookie('acopendivids', opendivids) this.setCookie('acgroupswithpersist', groupswithpersist) }, getCookie:function(Name){ var re=new RegExp(Name+"=[^;]*", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return null }, setCookie:function(name, value, days){ if (typeof days!="undefined"){ //if set persistent cookie var expireDate = new Date() expireDate.setDate(expireDate.getDate()+days) document.cookie = name+"="+value+"; path=/; expires="+expireDate.toGMTString() } else //else if this is a session only cookie document.cookie = name+"="+value+"; path=/" }, urlparamselect:function(){ window.location.search.match(/expanddiv=([\w\-_,]+)/i) //search for expanddiv=divid or divid1,divid2,etc return (RegExp.$1!="")? RegExp.$1.split(",") : [] }, preloadimage:function(){ var preloadimages=this.preloadimages for (var i=0; i<arguments.length; i++){ if (arguments[i] && arguments[i].length>0){ preloadimages[preloadimages.length]=new Image() preloadimages[preloadimages.length-1].src=arguments[i] } } } } And the code of the page in question: Code: <head> <title>Admininstration</title> <link rel="stylesheet" type="text/css" href="./css/epoch_styles.css" /> <!-- Calendar Stuff --> <script type="text/javascript" src="./javascript/epoch_classes.js"></script> <script type="text/javascript">window.onload = function() { var calendar1 = new Epoch('interactiondate','popup',document.getElementById('calendar1_container'),false); var calendar5 = new Epoch('expensedate','popup',document.getElementById('calendar5_container'),false); }; </script> <!-- End Calendar Stuff--> <!--Section Collapse stuff --> <!DOCTYPE HTML> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="./javascript/animatedcollapse.js"></script> <script type="text/javascript"> animatedcollapse.addDiv('Clients', 'fade=1') animatedcollapse.addDiv('Interactions', 'fade=1') animatedcollapse.addDiv('Expenses', 'fade=1') animatedcollapse.ontoggle=function($, divobj, state){ //fires each time a DIV is expanded/contracted //$: Access to jQuery //divobj: DOM reference to DIV being expanded/ collapsed. Use "divobj.id" to get its ID //state: "block" or "none", depending on state } animatedcollapse.init() <!--End Section Collapse Stuff --> </script> </head> <a href="javascript:animatedcollapse.toggle('Clients')"><h1>Clients</h1></a> <? echo' <div id="Clients" style="display:none"> <table> <tr> <td valign="top">'; include ('./addclient.php'); echo'</td> <td valign="top">'; include ('./displayclient.php'); echo'</td> </tr> </table> </div> '; ?> <a href="javascript:animatedcollapse.toggle('Interactions')"><h1>Interactions</h1></a> <? echo' <div id="Interactions" style="display:none"> <table> <tr> <td valign="top">'; include ('./addinteractions.php'); echo'</td> <td valign="top">'; include ('./displayinteractions.php'); echo'</td> </tr> </table> </div> '; ?> <a href="javascript:animatedcollapse.toggle('Expenses')"><h1>Expenses</h1></a> <? echo' <div id="Expenses" style="display:none"> <table> <tr> <td valign="top">'; include ('./addexpenses.php'); echo'</td> <td valign="top">'; include ('./displayexpenses.php'); echo'</td> </tr> </table>'; mysql_close(); // Close the database connection ?> user pastes 32 characters into the first split textbox, the method will place 8 characters into each of the 4 textboxes i have 4 text box ... max length (8) bro i want this in textbox <input type = "text" size = "8" maxlength="32" name = "LicenseNumber1" id="LicenseNumber1"> <input type = "text" size = "8" maxlength="32" name = "LicenseNumber2" id="LicenseNumber2"> <input type = "text" size = "8" maxlength="32" name = "LicenseNumber3" id="LicenseNumber3"> <input type = "text" size = "8" maxlength="32" name = "LicenseNumber4" id="LicenseNumber4"> & my license is 32 characters like 06e1823681f48e2f013904403b33ff08 now if i paste the whole 32 character in my first test box i.e. LicenseNumber1 then i want other three textbox wil be automatic fill bcause(8*4=32) |