Declare A Variable Inside A Function - Returns White Space - Not Variable Value
Aug 17, 2010
I am trying to declare a variable inside a function and use it later on in my code... but it just already returns white space... i.e. not variable value. I am setting it within this function:
function show_video1(){
document.getElementById('video1').style.display="block";
var video1Name = "Education World News (Part 1)";
document.getElementById('video2').style.display="none";
document.getElementById('video3').style.display="none";
document.getElementById('video4').style.display="none";
[Code]...
and trying to call it later on with this: <script type="text/javascript">document.write(video1Name)</script> It might be worth noting that each one of my 11 videos will hace a different name.
I have a function which has a nested function in it. I need some variables in the first function to be available in the nested function. How am I supposed to declare a global variable in jquery?
In my code a JavaScript function received value from html hyperlink. Value passing successfully, inside product function document.write(a) printing value 5. But how can i print value of "a" inside product function by php. My code is here....
I think I've had JavaScript variable scope figured out, can you please see if I've got it correctly?
* Variables can be local or global * When a variable is declared outside any function, it is global regardless of whether it's declared with or without "var" * When it is declared inside a function, if declared with "var", it's local, if not, it's global * A local variable that is declared inside a function is local to the whole function, regardless of where it is declared, e.g.:
function blah() { for(var i ... ) { var j ... }}
i and j will both be visible within blah() after their declaration. * the notion of "function" in this context also applies for this kind of construct:
var myHandler = { onClickDo: function() {
in the sense that whatever one declares inside onClickDo with "var" will only be visible inside onClickDo. What else, am I missing anything?
I'm making a project which creates tabs with a class. I don't really know how to explain it better but this is how it works:
<a href="#" id="tbs_tabs">Create</a> <script type="text/javascript"> var tbs = new Tabs('tbs_tabs'); tbs.theme = 'classic' tbs.create_option('abc','#'); tbs.create_option('abz','#'); tbs.create_option('abf','#'); tbs.create(); </script>
It first creates the new class and tells it the id, then it creates as many options as you want and creates it.
My problem is with this line: for(i=0;i<this.option_values.length;i++) { li = document.createElement("LI"); li.appendChild(document.createTextNode(this.option_values[i])); addEvent(li,"click",function(){oThis.select_option(i); return false;};
ul.appendChild(li); }
What I was trying to do here is add an event to the LI element that refers to the current tab class but doesn't use the CURRENT i value but the value that was when the event was first created.
For example.. If my i value is currently 2 and I add the function, then I want that when I call the function, the value will still be 2 and not the current i value. What happens now is when I call the function the value is something like 5 or 6.
I have a set or icons that which over time I replace with a different icon and and add a onclick event to them. This is my code
function updateStatusIcons(retText) { updatingStatuses = true; var updates = retText.split("|"); for (z=0; z<updates.length; z++) {
[Code]....
Everything works fine except for the onclick event. In the hover message of the icon, the correct project ID is displayed in the message, hoever in the function, the onclick funtion always loads the page with the last set project id. How can I pass the project id into the onclick function and make it stay fixed and not be the value of that it was last set to?
im trying to change a variable set outside of a function and calling the function with an onchange... i'm having problems getting the variable to change
This is a follow-up to a post from long ago. I had thought that this would be very simple but damned if I can get it to work.
Basically, I want a value which is generated in a JS function to be included in a <form method="get"> output. For some reason which is beyond me, the value is not being updated and the form is returning only 'undefined'. Here is the code:
JS: <script type="text/javascript"> function addRow(tableID) { // CELL 1 var table = document.getElementById(tableID);
Everything works above. The first alert shows that this.status was set to 'error'. However, if I call myClass.getStatus(), I get undefined. How can I get the parseData function to set the variables in the parent function?
I have a list of most 17 recent entries from a db table and wanna use jquery/ajax to have a next button that loads the next 17 entries when you click it. It passes the 17 variable to the .load which works fine first time around (this is later used as mysql limit), but then I try to increase the start variable with 17 so that next time I click it would pass 34 to the .load (so it loads next 17 again) but this doesn't work, it simply loads same 17 again on 2nd, 3rd ect. click (so nothing changes). use global variables by setting it with var and using it without var inside the function.
<script> var start = 17; var loadUrl = '<?php echo site_url('welcome/battles'); ?>'; $("#latestbattlesnext").click(function () {
In one of my functions I got the following lambda function. It works as intended, but I got a tiny problem. I'm trying to access the function-scooped variable "matched" and set it's value to "true". The problem is that it seems like the variable is existing as a local variable inside the lambda function, even if it's not declared inside the lambda function itself. So, the change "matched = true;" does not effect the variable that I declared.
Code:
//... code var matched = new Boolean(false); xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
I am looking for a push in the right direction for a few problems i am running into; my first problem is I have to create a script element that contains the function amountTotal which should return the sum of all the values in the amount array. There are no parameters for this function, and I have to add the following commands to it.
1. declare a variable named total with an initial value of 0
2. create a for loop thatloops through all of the values in the amount array, at each iteration of the loop, add the current value of the array item to the value of the total variable.
3. and after the for loop is completed, return the value of the total variable.
The amount array has already been created and populated in a list.js file, I had to first create a script element pointing to it.
This is what i had for my link to the list.js file and funtion :
I have my entire code written but i am trying to break it up and fix my problems 1 at a time: when i open the code, it does'nt display correctly ( which is another problem) but I ran the debugger and it says my total is undefined. ( this is in another section of my code), but I guess my function is wrong somewhere.
I'm having some problem with return value for a function. I'm trying to access google blogger's API to display blog entries on my site. I'm doing this through JQuery and requesting a JSON response. Everything seems to work ok, but I want to access the link for the blog entry. This is a subset of the "entry" object.
I want to get the link where the "link.rel == "self". To do this I have to loop through the link object (5 times). The loop and conditional statement works correctly, but I can't get the variable inside this loop back to my original function.
I have this code: $.each(data.feed.entry, function(i, entry){ $.each(entry.link, function(j, link){ if(link.rel == "self"){ var postlink = link.href; alert("link : " + postlink); return postlink; }}); alert(postlink); });
for (var i = 0; i < BS_crm['activityTypes'].length; i++) { var clickFunc = function(){ activityList.showForm( -1, {blockType:[""+BS_crm['activityTypes'][i]['id'], "0"]} ); }; var type = {
[Code]....
Now, basically what I am doing here is running through one array to create an array of objects, that will be used to create links that will use whatever onClick function I pass it. The problem is that on the second line I need the BS_crm['activityTypes'][i]['id'] to be a value, not a reference. If that line was simply changed to:
var clickFunc = function(){ activityList.showForm( -1, {blockType:["3", "0"]} ); };
I am creating a class for all of my code snippets, using a formatted paragraph (and "word-wrap: pre") to keep formayting intact. The problem is that in keeping my HTML files formatted nicely, they are indented, and due to the "pre" formatting the indentation is kept. Code:
I am trying to access the width variable from my main page. Within the imageinfo.js script functions I can alert() the width value which returns 1024. But I can't seem to pass this variable to my main page or access it directly so that I can use document.write() to write the variable on the page. Whenever I try to call the 'width' variable directly from the main page I get undefined. How can I access this variable? However, with the test code below, I was able to get ducument.write() to write the 'width' variable on the page but now the page doesn't stop loading - there's an endless loop in the code...
I am having a strange problem with a javascript function that does not return the value but returns the code inside the function. My best guess is that I am incorrectly calling the function hasLandedOn()and jquery is interpeting it. Why is this happening? I highlighted the parts in red.-Tom ReeseThe following is returned NOT the variable imageName.
function hasLandedOn(){ var selectorLoc = $("#selector").offset(); var imageName = "";
Right now when someone clicks on my listbox I immediately do an update on the form to populate the selected item.
Is there a way to detect if a user has clicked on some white area of a list box? If my list is sized 8 items but the list only has 4 items, if the user clicks near the bottom of the list where there is no item to select, can I detect that? Currently I get the form updating even if I click on the white area of the list and I'd like the form to update only if I actually click on an item in the list.
I have a frame that includes a hidden <div> at first (before any action), the problem is that when opening the page, I have a white space, and i can't reduce the size of the frame because the content of the <div> will not appear!
how to hide the white space of the frame without reducing it's size?