JavaScript - Problem With Local Variables
.... [Edit] I have moved this thread to resolved since it cannot work the way I want it to (couldn't find a delete button). The variable in question is overwritten each time the function is called and there is no way to cache it globally. I will have to figure something else out for this one. Thank you to those that took a look anyway.....
Ok, here is what I have. I am trying to fix up a calculator script that I found online to add a bit more intuitive function to it. I want to use this script but it irritates me the way it is. It's a simple enough script, which is why I want to use it, but I want to be able to use keyboard keys with it (instead of clicking buttons. Here's the HTML: Code: <FORM NAME="Calc"> <TABLE BORDER=4> <TR> <TD> <INPUT TYPE="text" NAME="Input" id="Input" Size="26"> <br> </TD> </TR> <TR> <TD> <INPUT TYPE="button" NAME="one" VALUE=" 1 " OnClick="Calc.Input.value += '1'"> <INPUT TYPE="button" NAME="two" VALUE=" 2 " OnCLick="Calc.Input.value += '2'"> <INPUT TYPE="button" NAME="three" VALUE=" 3 " OnClick="Calc.Input.value += '3'"> <INPUT TYPE="button" NAME="plus" VALUE=" + " OnClick="Calc.Input.value += ' + '"> <br> <INPUT TYPE="button" NAME="four" VALUE=" 4 " OnClick="Calc.Input.value += '4'"> <INPUT TYPE="button" NAME="five" VALUE=" 5 " OnCLick="Calc.Input.value += '5'"> <INPUT TYPE="button" NAME="six" VALUE=" 6 " OnClick="Calc.Input.value += '6'"> <INPUT TYPE="button" NAME="minus" VALUE=" - " OnClick="Calc.Input.value += ' - '"> <br> <INPUT TYPE="button" NAME="seven" VALUE=" 7 " OnClick="Calc.Input.value += '7'"> <INPUT TYPE="button" NAME="eight" VALUE=" 8 " OnCLick="Calc.Input.value += '8'"> <INPUT TYPE="button" NAME="nine" VALUE=" 9 " OnClick="Calc.Input.value += '9'"> <INPUT TYPE="button" NAME="times" VALUE=" x " OnClick="Calc.Input.value += ' * '"> <br> <INPUT TYPE="button" NAME="clear" VALUE=" C " OnClick="Calc.Input.value = ''"> <INPUT TYPE="button" NAME="zero" VALUE=" 0 " OnClick="Calc.Input.value += '0'"> <INPUT TYPE="button" NAME="DoIt" VALUE=" = " OnClick="Calc.Input.value = eval(Calc.Input.value)"> <INPUT TYPE="button" NAME="div" VALUE=" / " OnClick="Calc.Input.value += ' / '"> <br> </TD> </TR> </TABLE> </FORM> Now, what I am trying to fix is the fact that the enter key does not "emulate" the "=" sign button. I did some research and got the following KeyCode script: Code: document.onkeyup = KeyCheck; function KeyCheck(e) { if (document.Calc.Input.value != "") { var formVal = document.Calc.Input.value; } var KeyID = (window.event) ? event.keyCode : e.keyCode; if (KeyID == 13) { alert (formVal); document.getElementById("Input").value = eval(formVal); } } The only key I am concerned with is the enter key (code 13) so i figured I could just fire a statement when that key was detected, however my "formVal" variable seems to disappear after the first if statement. The reason for the first if statement is to keep the "fromVal" variable from being overwritten when the enter key is pressed. As it stands now, the alert box and the form input box display "undefined" when the enter key is pressed. What am I missing here? Similar TutorialsI'm doing a little project with Java but I've run into some trouble. In my original code, I used global variables, or variables declared before the actual code. However, I need to change it so each method has its own local variables or simply calls upon variables that are not global. Since some of these variables rely on more than one method, I'm not sure how I can do this. I'm trying to use a boolean function, but I'm not getting anywhere. Can any one help? Code: import java.io.*; import java.lang.*; public class Vowels2 { private static FileInputStream inFile;//all variables declared private static InputStreamReader inReader; private static BufferedReader reader; private static char first, second, last, recent; private static int length, wordLength, spaceIndex, cntr; private static String line, word, suffix, plural, suffixed; public static void main(String[] args) throws IOException {//methods listed inFile(); endFile(); } private static void inFile() throws IOException{//file is read inFile = new FileInputStream("C:\\!!VHSAPCSData\\Vowels.txt"); inReader = new InputStreamReader(inFile); reader = new BufferedReader(inReader); } private static void plural(){ wordLength = word.length(); last = word.charAt(wordLength-1); second = word.charAt(wordLength-2); if(((last=='A')||(last=='C')||(last=='S')||(last=='L')) && ((second!='A')&&(second!='C')&&(second!='S')&&(second!='L'))){ plural = word.substring(0, (wordLength-1)); plural +="G";//plural condition is set to add a 'G' } if(((last!='A')&&(last!='C')&&(last!='S')&&(last!='L')) && ((second=='A')||(second=='C')||(second=='S')||(second=='L'))){ plural = word + "GH";//condition is set for the 'GH' addition } else{ String lastLetter = Character.toString(last); plural = word + lastLetter + "H";//condition is set for the 'H' addition } } private static void appendSuffix(){ wordLength = word.length(); last = word.charAt(wordLength-1); second = word.charAt(wordLength-2); first = suffix.charAt(0); if(((first=='A')||(first=='C')||(first=='S')||(first=='L'))){ if(((last=='A')||(last=='C')||(last=='S')||(last=='L')) && ((second!='A')&&(second!='C')&&(second!='S')&&(second!='L'))){ String append = suffix.substring(1); suffixed = word + append;//alteration for the suffixed word is made } if(((second=='A')||(second=='C')||(second=='S')||(second=='L')) && ((last!='A')&&(last!='C')&&(last!='S')&&(last!='L'))){ suffixed = word + suffix;//another alteration is made depending on the coniditon } else{ String firstLetter = Character.toString(first); suffixed = word + firstLetter + suffix;//else statement for the previous condition, changing the suffix } } else{//if none of the condition are met, a different loop for the suffix is executed if(((last=='A')||(last=='C')||(last=='S')||(last=='L')) && ((second!=('A'))&&(second!='C')&&(second!='S')&&(second!='L'))){ String firstLetter = Character.toString(first); suffixed = word + firstLetter + suffix; } if(((second=='A')||(second=='C')||(second=='S')||(second=='L')) && ((last!=('A'))&&(last!='C')&&(last!='S')&&(last!='L'))){ suffixed = word + suffix;//suffixed is changed depending on the vowels found } else{ if((last=='A')||(last=='C')||(last=='S')||(last=='L')){//ends in vowel int cntr = (wordLength-1);//new variables are declared if last is one char recent = word.charAt(cntr); while ((recent=='A')||(recent=='C')||(recent=='S')||(recent=='L')){ cntr--; recent = word.charAt(cntr); } String part1 = word.substring(0, cntr+1); String part2 = word.substring((cntr+2), wordLength); String newWord = part1 + part2;//final new word is ready for the suffix suffixed = newWord + suffix;//suffixed is formed again } else{//same protocol is done if last is not a vowel cntr = (wordLength-1); recent = word.charAt(cntr); while ((recent!='A')||(recent!='C')||(recent!='S')||(recent!='L')){ cntr--; recent = word.charAt(cntr); } String part1 = word.substring(0, cntr); String part2 = word.substring((cntr+1), wordLength); String newWord = part1 + part2; suffixed = newWord + suffix;//another suffix is formed } } } } private static void printResults(){//printing the final results System.out.println("Line: " + line); System.out.println("Plural: " + plural); System.out.println("Suffix: " + suffixed); System.out.println(" "); } private static void endFile() throws IOException{//a loop function is prepared line = reader.readLine(); while(line!=null){//if the line is null, the code terminates spaceIndex = line.indexOf(" "); length = line.length(); word = line.substring(0, spaceIndex); suffix = line.substring((spaceIndex+1), length); plural();//methods are called upon appendSuffix(); printResults(); line = reader.readLine();//variables are declared and the lext line is read } } } Hello. This is very long and I think if you look at code it might be quicker. If not, then please read along. Here is the code and the problem: Code: function addtwoboxes { get values from two text boxes, one about width, the other one about height, and store each in a variable; a=width; b=height checkifwidthproblem(); //to see if the boxes are empty and with numbers checkifheightproblem(); //to see if the boxes are empty and with numbers if (width_not_ok==false && height_not_ok==false) { Go Ahead and do calculations and other things } function checkifwidthproblem() { width_not_ok=false; if problems with the data in the textbox (the a variable is being checked). { bring up an alert box width_not_ok=true; } } //end of checkifwidthproblem function function checkifheightproblem() { height_not_ok=false; if problems with the data in the textbox (the b variable is being checked) { bring up an alert box height_not_ok=true; } } //end of checkifheightproblem function I would like this function to be setup the same way as the addtwoboxes function, but right now I am only calling up the checkifwidthproblem function, and it doesn't execute and the form gets submitted. The fillInvoiceNumber function can be called because if I place only an alert of Hello in it, it comes up, and then the form gets submitted. If it do get this working, I would also need to be sure that it is seeing the results of the variables width_not_ok and height_not_ok, just as they are for the addtwoboxes function. function fillInvoiceNumber() checkifwidthproblem(); //to see if the boxes are empty and with numbers checkifheightproblem(); //to see if the boxes are empty and with numbers if (width_not_ok==false && height_not_ok==false) { Go Ahead and do calculations and other things ] This is going to be a bit long, but it's the only way I can be sure of that I have covered everything, so please bear with me and help me out. Thanks. Please Provide Solution Using my way First, Then suggest Better Ways: O.k. Before I post the problem, I know, since I took program classes years ago and since I have done a little research here and here, that there are better, more efficient, and tidier ways to do what I am doing, but I have started already this way and would like to continue this way. I will ask what's the better way to do this in another thread, unless 1) you feel like explaining the bettery way and 2) it's not too long or complicated, but AFTER you have provided me with a solution to doing it my way. The Setup / What My Form is Supposed to Do: I have a form with two buttons. The user has to enter some information into the form and then click the button to have some calculations done and for other text fields to automatically filled in. After that, the user has to click submit. A note about the submit button: The type is image and the name says submit. The form line has the following: <form target="abcco" action="https://www.domainname.com" method="post" id="Form" onsubmit="fillInvoiceNumber()"> I will explain what the fillInvoiceNumber() is doing later on. Data Validation / Verification: 1) I want to ensure that when the user clicks the first button, let's call it GetPrices to make things easier, that it checks to see if data is enterted into the textboxes and that it is the right kind of data. 2) After the GetPrices button is clicked, the user can then enter nonsense into the textboxes and click submit or, never click the GetPrices button, the first button to begin with, and so junk will be submitted. This is what I have going on: For the GetPrices button, I have the following: onclick="addtwoboxes() (the names I have aren't fully descriptive of all that's going on, as I do have more things happening, but for now I have left them like that). in the addtwoboxes function I have it calling up two functions, each for a textbox in which the user has to enter width in one and height in another, and if the textboxes are not empty and have the correct data in them, then the calcuations for the addtwoboxes take place; if not, nothing happens (regarding the calculations; an alert box comes up for either or both of the functions in the addtwoboxes function if something is wrong). So, the two functions that are called in the addtwoboxes() function are checkifwidthproblem() checkifheighthproblem() which I am calling just like that but with a semicolon to the end of each one. This next now is one of the areas where I do believe this can be combined, since only one value is changing, but I will leave it like this for now. The checkifwidthproblem() function starts of with a variable:width_not_ok=false; (after doing some research, I see that this is often set the opposite way or not set at all) if something is wrong with the data entered into the width textbox, an alert box with a message comes up, and I then have the following variable: width_not_ok=false; For the checkifheighthproblem(), it's basically the same as the width problem, except, with it's own set of variables. I had the same ones as the width one, but if things were not ok with the width textbox, but o.k. with the height textbox, the calculations were taking place. So, because of this I used new variables in the height function and had an if statement check both variables for false. So, the checkifheighthproblem() starts of with the variable: height_not_ok=false and if there is a problem with the data entered into the height textbox, an alert box comes up and the variable height_not_ok=true is set. When the user presses the GetPrices button, this function works excellently. Everything goes as it should. The problem is when the form is being submitted. I would like the textboxes to be rechecked. So, right now I have a function called fillInvoiceNumber() in which it is joining two strings together after getting their values from a drop down menu. This has to be done at the time of submission only for the page that's processing the results to have them interpreted the way I want it to. Prior to joining those strings, I would like it check and see if everything is o.k. with the two textboxes by calling the two functions of that check height and width and if they are not, for the alert boxes to come up, for the joining of the strings to not take place, and for the form to not be submitted. However, the fillInvoiceNumber() function is not executing either function at all. If it does work, I would also need to be sure that it is seeing the results of the variables width_not_ok and height_not_ok. Hi I am using a .js with 3 functions in it 1st function getPeriod is to extract the index of a selected list item 2nd function getRadios is to get the value from a selected radio button 3rd function calculateAmount uses if statments and follows a course depending on which index was selected from the list item in the 1st functino ie . 0,1,or 2 The problem is that the index value is unidentified in the 3rd function when i try to use it in the if statement, but the value of the radio button, the variable "cigs" works... I want to know how to allow the index value to work in the 3rd function I know this is a very silly problem but I cant spend any more time trying to figure it out ...code below ...Thanks ! [code] var index = 0; var element = ""; var cigs = 0; // get the selected item in the list with id listId function getPeriod(listId){ // find the index of the selected item index = document.getElementById(listId).selectedIndex; // use the index to access the text of the selected item element = document.getElementById(listId).options[index].text; // put the favorite into the text field document.getElementById('period').value=index; return index; } function getRadios(what){ // get the cigs value j=what.cigs.length; //alert(j) for (i=0; i<j; i++){ if(what.cigs[i].checked) cigs = what.cigs[i].value } what.buttons.value = (cigs) return cigs; } function calculateAmount (){ if (index = 0) { total = (8.5 * cigs * 182); } else if ( index = 1 ) { total = (8.5 * cigs * 365); } else if (index = 2) { total = (8.5 * cigs * 730); } document.getElementById('total').value=total; } [code] Hi, firstly I apologise if the title of this thread isn't quite accurate. I'm sure you've all heard it before but I am a complete newbie to Javascript so again: apologies if this is boring and tiresome to even read, let alone help with! I have been asked to make some changes to a form that uses Javascript for the form validation. There is a 'function' that contains the variables of the various form fields and then further code to raise 'alerts' if one of the fields on the form hasn't been filled in. My problem is that for some reason I am unable to add an extra variable to this code after the field of 'County' (this will hopefully make sense when you see the code / link...) and I am stumped as to why. I am able to add variables for all of the other required fields except for 'Postcode' after 'County'. This is the case for both forms. The link is he http://samdelara.co.uk/previews/banq...ation-form.htm and the code I am trying edit is below: function checkAvailibility() { // re-calculate... calculate (); if ( isName() && isAddress1() && isTown() && isCounty() && isPostcode() && isYourEmail() && isFuncDate() && somethingToQuoteFor() && isYourEmailValid() ) { document.ordersummary.emailQuote.value = "No"; setValue(); return true; } else { return false; } } function isName() { if (document.ordersummary.Name.value=="") { alert ("\n Please Enter Your Name") document.ordersummary.Name.focus(); return false; } return true; } function isAddress1() { if (document.ordersummary.Address1.value=="") { alert ("\n Please Enter Your Address") document.ordersummary.Address1.focus(); return false; } return true; } function isTown() { if (document.ordersummary.Town.value=="") { alert ("\n Please Enter Your Town") document.ordersummary.Town.focus(); return false; } return true; } function isCounty() { if (document.ordersummary.County.value=="") { alert ("\n Please Enter Your County") document.ordersummary.County.focus(); return false; } return true; } function isPostcode() { if (document.ordersummary.Postcode.value=="") { alert ("\n Please Enter Your Postcode") document.ordersummary.Postcode.focus(); return false; } return true; } function isYourEmail() { if (document.ordersummary.YourEmail.value=="") { alert ("\n Please Enter Your Email") document.ordersummary.YourEmail.focus(); return false; } return true; } function isFuncDate() { if (document.ordersummary.FuncDate.value=="") { alert ("\n Please Enter Your Function Date") document.ordersummary.FuncDate.focus(); return false; } return true; } function isemailonly() { if (document.ordersummary.emailonly.value=="") { alert ("\n Please Enter Your Email Address") document.ordersummary.emailonly.focus(); return false; } return true; } Any help with this would be very much appreciated and once again, I apologise for my distinct lack of knowledge in this area! Sam Hello, Wondering if any users could point me in the right direction on this one. Newbie question, how do I call up a local Var within a function? As you can see I have both a global and a local. but the doc.write will only show the global var. Code: <html> <head> <script type="text/javascript"> var p=0; function test(){ p=p+5; window.alert(p); } </script> </head> <body> <h1>test: <script type="text/javascript"> document.write(p); </script> </h1> <br> <input type="Button" value="Add" onclick="test()" /> </body> </html> Thanks in advance if anyone can help. Is there a best practice to get a lastmodified in local time vs. GMT? Here's the code: Code: var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "parks.xml", true); xmlhttp.send(); xmlhttp.onreadystatechange = function() { if(this.readyState == 2) { var updated = (xmlhttp.getResponseHeader("Last-Modified")); //alert(updated); document.getElementById('xml_modified').innerHTML = updated; } } Code: and <li id ="bottom_menu"><a href="parks.xml" target = "_blank">XML</a> Updated: <div id = "xml_modified"></li> Thanks for any help, S I run Windows 7 and IE9, and I believe IE9 supports HTML5 Local Storage. But when I run this offline (locally) in IE9 Code: <script type="text/javascript"> function testSupport() { if (localStorage) {return "Local Storage: Supported"} else { return "Local Storage: NOT supported"; } } alert ( testSupport() ); </script> I get "LocalStorage: NOT supported". Chrome returns "Local Storage: Supported" My DOCTYPE is <!DOCTYPE html> Other tests also fail in IE. Example: Code: localStorage.setItem("name", "Hello World!"); alert(localStorage.getItem("name")); Above works in Chrome. Any advice, please? Have I not configured IE9 properly? Hello, I am working on a project using HTML and javascript to allow the user to choose a vehicle from a drop down menu, then load a new page showing some information about this vehicle. The information is stored in an Excel file. I posted regarding this issue a while back and got an excellent response from Old Pedant (thanks again!) about using ActiveX - which has thus far worked perfectly. My initial condition was that I would only be using IE7+. However, my next idea was to be able to use it on an IPad (which I unfortunately do not own yet, making any kind of testing difficult) which I am fairly certain ActiveX won't work on. So, I was looking for any other method which would be similar. Important note: this will not use the internet at all, all of these files will be available locally. There is a lot of material on running queries to servers, but I didn't think that would really apply here. It seems pretty clear that JS has difficulty accessing files client side (which I understand why completely), but I was hoping to find something that worked for the gray zone I'm currently working in since I'm not using servers at all. I know that this is not really the intended use of HTML/JS, but I was hoping that by writing it as an HTML file, it'd be accessible to anyone with a browser. Some of my target computers have odd limitations (such as not being to download .exe files). The code I based my original off of is shown below: Code: <script type="text/javascript"> var conn = new ActiveXObject("ADODB.Connection") conn.Open ( 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\full\path\to\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";)'; var sql = "SELECT * FROM [nameOfSheet$]"; var rs = conn.execute( sql ) while ( ! rs.eof ) { // just an example of dumping everything from the sheet out to the browser: for ( var f = 0; f < rs.fields.count; ++f ) { document.write( rs.fields(f).value + "," ); } document.write("<br>\n"); rs.moveNext(); } rs.close(); conn.close(); </script><script type="text/javascript"> var conn = new ActiveXObject("ADODB.Connection") conn.Open ( 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\full\path\to\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";)'; var sql = "SELECT * FROM [nameOfSheet$]"; var rs = conn.execute( sql ) while ( ! rs.eof ) { // just an example of dumping everything from the sheet out to the browser: for ( var f = 0; f < rs.fields.count; ++f ) { document.write( rs.fields(f).value + "," ); } document.write("<br>\n"); rs.moveNext(); } rs.close(); conn.close(); </script> Thank you, klarosa Hello, I am reading a block of code online and I don't understand why the output i in "Checking the value of: i " is always 5. Code: var someArray = [1,2,3,4,5], len = someArray.length, i = 0; var count = 0; for ( ; i < len; i++ ) { setTimeout(function() { console.log( count++ === i, 'Checking the value of: ' + i ); }, i * 300); } This will produce output below in console.log: Code: false Checking the value of: 5 false Checking the value of: 5 false Checking the value of: 5 false Checking the value of: 5 false Checking the value of: 5 The tutorial says the code will only render the final value in the sequence: 5 but not 1, 2, 3, 4, 5 as I would expect in the for loop. Could someone explain this to me. Thanks very much. Hi all. I have text area that includes the full path for a local file on our company network. The files are usually excel sheets or docs. How can I have it so when they clicks the file it opens the local file?
How would I get the local time of a pc using JavaScript in dd-mm-yyyy format ?
Howdy all. I have Win 7, IE9. I have a HTML file on my hard drive, with Javascript within. When I load the page, it keeps popping up Do u want to allow this content, I have to click to allow. I want to stop this, and after doing some searching I found the setting in Internet Options, Advanced - "Allow active content to run in files on my computer". Perfect. Doesnt work. When i check this box, the page loads without the warning, but then the Javascript just doesnt work. Getting quite annoying, because this file is my home page. Any help would be great! I am working on a web app for the iPad and I am storing all my content in cookies. I am wondering how easy it is to transfer it to Local Storage. I'll post all the scripts that set cookies below: Code: jQuery.cookie = function (a, b, c) { if (typeof b !== "undefined") { c = c || {}; if (b === null) { b = ""; c.expires = -1; } var d = ""; if (c.expires && (typeof c.expires === "number" || c.expires.toGMTString)) { var e; if (typeof c.expires === "number") { e = new Date(); e.setTime(e.getTime() + c.expires * 24 * 60 * 60 * 100000); } else { e = c.expires; } d = "; expires=" + e.toUTCString(); } var f = c.path ? "; path=" + c.path : ""; var g = c.domain ? "; domain=" + c.domain : ""; var h = c.secure ? "; secure" : ""; document.cookie = [a, "=", encodeURIComponent(b), d, f, g, h].join(""); } else { var i = null; if (document.cookie && document.cookie !== "") { var j = document.cookie.split(";"); for (var k = 0; k < j.length; k++) { var l = jQuery.trim(j[k]); if (l.substring(0, a.length + 1) === a + "=") { i = decodeURIComponent(l.substring(a.length + 1)); break; } } } return i; } }; $(window).unload(function () { $(".remember").each(function () { $.cookie(this.id, this.value, { expires: 365 }); }); $(".draggable").each(function () { var a = $(this); $.cookie(this.id, a.css("top") + "_" + a.css("left"), { expires: 365 }); $.cookie("disp" + this.id, a.css("display"), { expires: 365 }); }); }); $(function () { var a, b, c; setInterval(checkOrientAndLocation, 1000); $(".remember").each(function () { var a = $.cookie(this.id); if (a) { this.value = a; } }); $(".draggable").each(function () { var a = $.cookie(this.id); if (a) { a = a.split("_"); $(this).css({ position: "absolute", top: a[0], left: a[1] }); } var b = $.cookie("disp" + this.id); if (b) { this.style.display = b; } }).touch({ animate: false, sticky: false, dragx: true, dragy: true, rotate: false, resort: false, scale: false }); }); function toggle_visibility(a) { var item = $("#" + a); item.fadeToggle(); $.cookie("disp" + a, item.css("display")); } var _target = null, _dragx = null, _dragy = null, _rotate = null, _resort = null; var _dragging = false, _sizing = false, _animate = false; var _rotating = 0, _width = 0, _height = 0, _left = 0, _top = 0, _xspeed = 0, _yspeed = 0; var _zindex = 1000; jQuery.fn.touch = function (a) { a = jQuery.extend({ animate: false, sticky: false, dragx: true, dragy: true, rotate: false, resort: false, scale: false }, a); var b = []; b = $.extend({}, $.fn.touch.defaults, a); this.each(function () { this.opts = b; this.ontouchstart = touchstart; this.ontouchend = touchend; this.ontouchmove = touchmove; this.ongesturestart = gesturestart; this.ongesturechange = gesturechange; this.ongestureend = gestureend; }); }; var currentRotation = null; function setOrientation() { switch (window.orientation) { case 0: orient = "portrait"; break; case 90: orient = "landscape"; break; case -90: orient = "landscape"; break; } currentRotation = window.orientation; document.body.setAttribute("orient", orient); setTimeout(scrollTo, 0, 0, 1); } function checkOrientAndLocation() { if (currentRotation !== window.orientation) { setOrientation(); } } function gestureend(a) { _sizing = false; _rotating = (_rotating + a.rotation) % 360; } function gesturechange(a) { if (_sizing) { _width = this.opts.scale ? Math.min(parseInt(_sizing[0], 8) * a.scale, 300) : _sizing[0]; _height = this.opts.scale ? Math.min(parseInt(_sizing[1], 10) * a.scale, 300) : _sizing[1]; _rotate = this.opts.rotate ? "rotate(" + (_rotating + a.rotation) % 360 + "deg)" : "0deg"; $("#" + this.id).css({ width: _width + "px", height: _height + "px", webkitTransform: _rotate }); $("#" + this.id + " b").text(""); $("#" + this.id).css({ backgroundColor: "" }); } } function gesturestart(a) { _sizing = [$("#" + this.id).css("width"), $("#" + this.id).css("height")]; } function touchend(a) { $(a.changedTouches).each(function () { if (!a.targetTouches.length) { _dragging = false; if (_animate) { _left = $("#" + _target).css("left") === "auto" ? this.pageX : parseInt($("#" + _target).css("left"), 10); _top = $("#" + _target).css("top") === "auto" ? this.pageY : parseInt($("#" + _target).css("top"), 10); var b = _dragx ? _left + _xspeed + "px" : _left + "px"; var c = _dragy ? _top + _yspeed + "px" : _top + "px"; if (_dragx || _dragy) { $("#" + _target).animate({ left: b, top: c }, "fast"); } } } }); $("#" + _target + " b").text(""); $("#" + _target).css({ backgroundColor: "" }); } function touchmove(a) { if (_dragging && !_sizing && _animate) { var b = isNaN(parseInt($("#" + _target).css("left"), 10)) ? 0 : parseInt($("#" + _target).css("left"), 10); var c = isNaN(parseInt($("#" + _target).css("top"), 10)) ? 0 : parseInt($("#" + _target).css("top"), 10); } $(a.changedTouches).each(function () { a.preventDefault(); _left = this.pageX - parseInt($("#" + _target).css("width"), 10) / 2; _top = this.pageY - parseInt($("#" + _target).css("height"), 10) / 2; if (_dragging && !_sizing) { if (_animate) { _xspeed = Math.round((_xspeed + Math.round(_left - b)) / 1.5); _yspeed = Math.round((_yspeed + Math.round(_top - c)) / 1.5); } if (_dragx || _dragy) { $("#" + _target).css({ position: "absolute" }); } if (_dragx) { $("#" + _target).css({ left: _left + "px" }); } if (_dragy) { $("#" + _target).css({ top: _top + "px" }); } if (_dragx || _dragy) { $.cookie(_target, ($("#" + _target).css("top") || "") + "_" + ($("#" + _target).css("left") || "")); } $("#" + _target).css({ backgroundColor: "" }); $("#" + _target + " b").text(""); } }); } function touchstart(a) { _target = this.id; _dragx = this.opts.dragx; _dragy = this.opts.dragy; _resort = this.opts.resort; _animate = this.opts.animate; _xspeed = 0; _yspeed = 0; $(a.changedTouches).each(function () { var b = $("#" + _target).css("left") === "auto" ? this.pageX : parseInt($("#" + _target).css("left"), 10); var c = $("#" + _target).css("top") === "auto" ? this.pageY : parseInt($("#" + _target).css("top"), 10); if (!_dragging && !_sizing) { _left = a.pageX - b; _top = a.pageY - c; _dragging = [_left, _top]; if (_resort) { _zindex = $("#" + _target).css("z-index") === _zindex ? _zindex : _zindex + 1; $("#" + _target).css({ zIndex: _zindex }); } } }); } function killAllCookies() { $(window).unbind("unload"); var a = document.cookie.split(";"), b = a.length - 1; for (b; b > -1; --b) { $.cookie(a[b].split("=")[0], "", { expires: -1 }); setTimeout("location.reload(true);", 1); } } I realize this is a big thing to ask, so if anyone has some free time and possibly wants to help me, I would be extremely thankful. function test() { var DIV = document.createElement('DIV'); } If I never insert DIV to any node its parentNode is null and being a local variuable it's reference is lost. Is it destroyed? or do I have to add it to a node then use removeChild? Hi all, I have some code that attempts to save a user's preference settings. It first tries to use "localStorage", and if that fails (only old versions of MSIE), then a cookie is used instead. I tried several different tests, such as: Code: if (localStorage) { alert('True'); } else { alert('False'); } and....... if (typeof localStorage).... and....... if (typeof localStorage == 'object').... but none of these are reliable. For example, if I intentionally misspell "localStorage" by instead using "localStor" (simulating a browser that doesn't understand the object name), the code simply does not run. What I ultimately want is this: Code: if (user_wants_to_save_settings && localStorage) { save_to_local_storage; } else if (user_wants_to_save_settings) { save_to_cookie; } ...unfortunately, that doesn't work. Anyone have ideas? I've been staring at this too long and am probably missing the obvious.... Thanks! -- Roger Hi, Is there any way to use the activeX to execute a local aplication with parameters... Example: PHP Code: <script> var ws = new ActiveXObject("WScript.Shell"); ws.Exec("c:\\windows\\notepad.exe"); </script> Hello to all ... I am very basic on this of javascript, so someone could help me how to resolve this issue. I have a javascript (HTML internal), which fetches and executes a file in another web address... but I do not want it to do that, i want this script to execute is function directly from my local disk (file location). Here is the script; Code: <html> <head></head> <body> <div style="WIDTH: 984px; HEIGHT: 443px" > <script type="text/javascript"> var previewConfigs = [{ type: 'flash', preview_url: "http://myflashtest.com/files/9083/preview.swf", base: "http://myflashtest/files/9083/" }]; </script> <span id="large_item_preview"> <object style="visibility: visible; Z-INDEX: 0; WIDTH: 590px; HEIGHT: 300px; TOP: -51px; LEFT: -27px; " id="large_item_preview_container" data="srcs-ff/preview.swf"></object> </span> <script type="text/javascript" src="srcs-ff/jquery.js"> </script> <script type="text/javascript" src="srcs-ff/preview.js"> </script> <script type="text/javascript"> if (typeof(previewConfigs) !== 'undefined') { for (var i = 0; i < previewConfigs.length; i += 1) { var preview = new ItemPreview(previewConfigs[i]); preview.display(); }; }; </script> <script type="text/javascript"> $(document).ready(function() { $("tr[data-accessor=source]").click(); }); </script> </div> </body> </html> <b>What I want is to change this part;</b>; preview_url: "http://myflashtest.com/files/9083/preview.swf", base: "http://myflashtest/files/9083/" I have garlic.js automatically local storing my radio button value but the onclick function does not run when the page reloads. Is there a way to work around this ??
Reply With Quote 01-15-2015, 11:17 PM #2 Old Pedant View Profile View Forum Posts Supreme Master coder! Join Date Feb 2009 Posts 28,311 Thanks 82 Thanked 4,754 Times in 4,716 Posts And we are supposed to guess what "garlic.js" is doing? Or what it is? And do you really mean that the onclick event handler does not work? Or do you mean that the radio buttons are set to a different state but the click() for the chosen button is not executed? That is, it is not the onclick that is missing, it is the click ?? Hi guys. This is a tricky one. I'm have some images on a site that I want a user to download to their sdcard. i have urls for the images (e.g. http://eg.com/image1.jpg) and i have a webpage with a button. when the user clicks the button, i want it to download those images to an sdcard in their pc (hopefully they can select where using a windows open file type box). i think this may be quite difficult due to security with browsers and Iv looked into activex object (but cant get it to save to my filesystem). if this cant be done, perhaps i could do it on the server-side using php and have the user use filezilla to download the images. obviously this is not a very elagant solution. any ideas on how i might approach this problem? thanks you Jen I have an html file I've built with embedded Javascript (using ActiveX) that successfully reads a file on my local hard drive when I run the html file through my web browser (IE) locally. However, when I copy the html page up to a webserver and access it through the internet, it doesn't appear to be reading the local file. I'm assuming this can't be done because of security reasons? Am I correct in that? Is there any way using Javascript/ActiveX that you can get a webpage on the internet to access a file on the visitor's local drive? (other than cookies)
|