Dynamic Variables In AttachEvent
Jan 24, 2007
I am trying to write a loop that will add 10 divs to the screen. Each
div will have an onclick event. The function that will be called
onclick requires a parameter. That parameter is dynamic based on the
index of the loop. In Firefox this is no problem. However in IE I get
some results that I wouldn't expect.
Here is my code:
for(var i = 0; i < 10; i++)
{
var linename = jsonObj.lines[i].line;
var childcountid = jsonObj.lines[i].childcount;
var lineid = jsonObj.lines[i].lineid;
var newdiv = document.createElement('div');
newdiv.setAttribute("id","main" + i);
if (navigator.appName == "Microsoft Internet Explorer")
{
//************ this is the problem area
*****************
newspan.attachEvent("onclick", function() {getCategories('main' +
i)});
}
else
{
newspan.setAttribute("onclick", "getCategories('main" + i + "')");
}
document.getElementById('container').appendChild(n ewdiv);
}
What happens is when the element is clicked the parameter being passed
to getCategories is always 'main9' IE always grabs the current value
of i, not the value of i at the stage of the loop that attachEvent was
called.....
View 1 Replies
ADVERTISEMENT
Jul 23, 2005
I need to create a variable out of nothing. From a database I extract an
item with a certain id. With this id I want to create a new variable.
For example:
id = 36;
"item"+id = new Array();
Now I get the message "Illegal left hand assignment".
I tried:
eval("item"+id) = new Array();
Is it possible to create a variable out of nothing?
View 4 Replies
View Related
Jul 16, 2011
I'm creating dynamic buttons and forms for a website and would like the form hidden when it's corresponding button is clicked. However, when I pass button and form name variables to my JavaScript that hides the form, the variables are not being recognised unless I explicitly set them. (e.g 1 and 2 as seen below).
In a nutshell the onlick event doesn't seem to like PHP variables !
[Code]...
View 1 Replies
View Related
Feb 18, 2004
I have a little problem that doesn't seem to be working. I'm trying to access a variable using its string name which is passed when the function is called Code: ie:
function a(varName, other crap...) {
document.getElementById("sometag").innerHTML = ['varName'].somevalue;
}
// I would call this function like so...
a("temp1", othercrap...);
The variable temp1 is set in another script file. I don't specifically know which variable I will be passing to the function a(), all I have is its string representation. I can access the values of temp1 if I specifically call it but I can't seem to figure out how to call it dynamically.
View 2 Replies
View Related
Sep 20, 2007
I'm working on a rather complex booking system for building European
trips, in a combination of SQL/VBScript/Javascript. There are tons of
query string variables that get passed back and forth between the
pages, and in almost every case, I can set 'em up fine, provided the
variables are in the link.
The page the *holds* the booking information, though, is problematic.
An example trip might include two European cities or towns with a week
in each in an apartment or cottage that the user selects from a dozen
or properties for each region.
All the information is on one page (all the dozen or so properties for
each weeks, available dates for the trip and for each , max occupancy
per property, pricing per property and per number of passengers,
etc...everything necessary to actually book the trip). If the user
changes party size or chooses a date, properties are hidden or shown
depending on max occupancy and/or availability.
So, a user sets their date and party size (or maybe just the party
size, or maybe has just cleared everything out to start over...) then
wants to view available properties so they can find one they like. The
current pax/date/etc. information is not in the query variables,
because the link was built at runtime.
If I build the link in an onclick event, it breaks if someone right
clicks to open a new page or tab.
I hate sites that disable right click menu. I hate sites where, when
you open a new page with a right click, it generates a javascript
error if the URL is created with an onclick event. I hate that using
an onclick to bring up the page means whatever is showing in the
status bar bears no resemblance to the page that is brought up when
you click on the link.
My client isn't worried about the non-javascript people for this use;
those people are referred to a free spiffy catalog, which frankly, is
how most of this client's customers book their trip anyway. I just
want to be able to carry the variables in such a way as to not break
the site if someone right clicks.
Anybody have any suggestions? Is it hopeless?
View 11 Replies
View Related
Jun 14, 2009
I'm building up a RSS reader. In this app, the user will have the option to add and remove urls in a list. What I need is to create a new variable, everytime the user submit the form with the url. The variable must contain the url.
View 1 Replies
View Related
Jun 29, 2010
I am developing a site that adds multiple dynamic buttons. I would be ideal if the event these buttons trigger could pass a 'variable' (the passed variable is constant with respect to each button).
My attempt...
myButton.setAttribute("onClick", "myFunction(" + myVar +")");
...doesn't seem to work.
View 2 Replies
View Related
Mar 2, 2009
I am using ext js library to built ajax base site.I need to build dynamci variable and then send that variable with same name in paramter to phpi have following function where first i check the array length and then loop untill the array lenght come to end and within that i get the value from html.now i want to send dynamic variables as parameter but i can do this
Code:
addvalue = function(){
var id_str=document.getElementById('array_chk').value;
[code]....
View 2 Replies
View Related
Mar 19, 2011
I have got this piece of code:
Code:
I would like to display the number 1 at first and then 2. but this code produces number 2 for both alerts. I was able to achieve what i wanted with "new" constructor when creating functions but this is not a good practice and after all i am passing these functions as an event handlers and it can't be done with "new" keyword because it is throwing error. I think there are some solutions with arrays e.g the x would be an array of numbers, but i don't like it. Am i missing something important?
View 3 Replies
View Related
Nov 16, 2006
Today I have been testing the event models from Netscape 4.8 and IE 4
to the current crop of browsers. I'd like to write a small event
library similar in purpose to the Yahoo! UI event library but with less
features and code. The Yahoo! event library is one of the best
libraries in YUI but it still seems to me to have some confused
code...that or I'm still confused.
The Yahoo! UI library focuses on using addEventListener and
attachEvent. However, due to the click and dblclick bugs in Safari a
long legacy event workaround is included to use a Netscape4-type event
model for Safari. Something like this
var listeners = [function(event){}, function(event){}];
document.getElementById('blue').onmouseover = function(event) {
for (var i=0; i<listeners.length; i++) {
listeners[i](event);
}
};
With this above example, multiple handler functions can be fired for a
single event. I imagine that this is an old trick that has been around
for a long time, yes?
With all the new browsers I tested with this legacy workaround, the
listener handlers can use event.stopPropogation() or
event.cancelBubble=true and they work as desired. The handler functions
can also use event.preventDefault() and event.returnValue=false and
they too work. These seem to work because the event object passed to
the handlers is a modern event object and not one from Netscape4.
My question is, if Safari needs this legacy workaround, and the legacy
workaround seems to work in all the browsers that have addEventListener
or attachEvent, then why bother with the addEventListener and
attachEvent functions at all? Why not just use the legacy way for all
browsers and all type of events.?
View 10 Replies
View Related
Apr 27, 2007
if i use AttachEvent like this,it can't work;
eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var div = document.createElement("div");
div.appendChild(img); //can't work;
div.innerHTML="<-click this";
but i use attachEvent like this,it work; eg:
var img = document.createElement("img");
img.attachEvent("onclick",alert("test"));
var text = document.createElement("span");
text.innerHTML="<-click this";
var div = documet.createElement("div");
div.appendChild(img); //can work
div.appendChild(text);
View 6 Replies
View Related
Aug 28, 2007
I need to check if attachEvent was done to an element. The problem is that attachEvent does not save this information anywhere.
View 12 Replies
View Related
Mar 17, 2003
As I understand it so far:
element.attachEvent()
IE 5+ for PC
element.addEventListener()
Gecko, KHTML
element.event
NS3+, IE4+, dunno about opera or others
Since I'm only concerned with attaching a single event and don't care about bubbling/capturing, am I best off not using the old style of event registering to assure maxium compatibility?
View 2 Replies
View Related
Oct 26, 2006
Does anyone know of a way to attach multiple events to the document element?
I have a class that when initiated attaches events to the element it effects but also attaches an event to the document element.
If my class is declared more then once, only one of the classes will be effected by the event (on the document element) where as I need both.
this.addEvent = function(obj, type, fn )
{
if(obj.attachEvent)
{
obj['e'+type+fn] = fn;
obj[type+fn] = function()
{
obj['e'+type+fn]( window.event );
}
obj.attachEvent( 'on'+type, obj[type+fn] );
}
else
obj.addEventListener( type, fn, false );
}
I presume it works fine on Firefox because addEventListening allows multiple assignments where as attachEvent doesn't.
View 4 Replies
View Related
Sep 8, 2010
The event added to the flash object (videoPlayer) or to its container (player) responds as expected in all browsers except ie. I trtied everything I could possibly think of and still can't get it work in ie. The only event that works in ie is "onactivate".
[Code]...
View 1 Replies
View Related
Dec 19, 2009
I'm just trying to register a simple click event onto a input element with addEventListener and attachEvent... My code:
[Code]...
View 2 Replies
View Related
Oct 4, 2011
I have a cross domain iframe resizing script (using postMessage) that works perfectly in Chrome, FF, Safari and IE9 - browsers that use addEventListener I'm trying to get it to work in IE8 by adding what I thought was the right language for attachEvent, but it's not working in IE8 - I just get 'Object doesn't support this property or method' - again just in IE8.
[Code]...
View 2 Replies
View Related
Jan 13, 2009
A page I'm working on lets users open a new window, which in turn lets them send data back to the parent page to create new table rows, cells, links, etc. One of the links created is "delete", so it should delete the row that the delete link belongs to when clicked on. I can do this no problem in ff using the setAttribute('onclick',onClickEvent), but can't do this in IE. I'll show some code to make this easier to understand....
[Code]....
View 3 Replies
View Related
Apr 11, 2009
why the following code refuses to do anything.
[Code]...
I get the error "sfHover isn't defined". What am I doing wrong? The purpose of the code would be to add a :hover (here: .sfHover) css pseudo-class on the mouseover event, to work in IE.
View 2 Replies
View Related
Apr 2, 2009
Anyone know how to get Javascript variables into PHP variables or a MySQL database? Full question in the PHP section.
View 2 Replies
View Related
Feb 3, 2011
I have some JavaScript which is splitting out the different variable elements from the URL.Now, how do I set the internal variables?Then I want to set the variable ScriptHeading to be Change and the variable ScriptType to be NewThread.I keep finding all sorts of lovely code showing how to split out the various sections in many different ways, but I can't find anything on how to actually set these variables.
View 1 Replies
View Related
Jun 29, 2010
how to populate a dropdown based on Another dropdown selection. This all should be a dynamic. Eg: I have two text boxes one is TechID and other is JOB ID. When I start typing Tech ID it suggests me the list of IDs which start with the input string i have put in Tech textbox. When i select the Tech ID the jobs associated to that Tech ID should be displayed in JOB ID text box as a dropdown list.
View 1 Replies
View Related
Jul 23, 2005
I am having a problem with the last results. I can't seem to be able to
get the input2A and input3A to appear. I don't seem to have a problem
with the show and hide after a number is entered and submitted. If
anyone can answer my problem I will be greatly appreciated with a
prize. I actually have submitted it more than once and I haven't had
anyone been able to answer it yet. Code:
View 5 Replies
View Related
Jul 1, 2011
i was trying for some days now to find a solution for this. had a look at different posts and forums online, but no luck so far...is it possible to auto-create this with a loop???:
Code:
T$('infowindow1').onclick = function(){ setInfobox('1'); }
T$('infowindow2').onclick = function(){ setInfobox('2'); }
[code]....
View 5 Replies
View Related
May 6, 2006
I have a program written in Javascript and fully functioning which takes a user-selected directory name and then displays all the photos in that directory in a certain format.
I am now wanting to expand the program to allow users to optionally enter their own strings and the program will use all the photos from www.flickr.com which use that string as a tag.
I have a PHP interface to flickr (called PHPflickr) which collects all the relevant photo urls. I now need to get these images back into my Javascript so I can process them using the existing functions (rather than rewrite all my functions in PHP code and have two sets of functions in the program). I found on another thread a means to do this for a date variable:
var jsArray = new Array(
<?php
$length = count($monthDataArray);
for ($i = 0; $i < $length; $i++)
{
echo '"' . addslashes($monthDataArray[$i]) . '"' . (($i < $length - 1) ? ',' : '') . "
";
}
?>
but being completely new to PHP I'm not sure what "addslashes" might be or what formatting will be necessary if I am starting with an array of urls. Code:
View 1 Replies
View Related
Jun 30, 2009
I've been beating my head against a wall for a few days trying to get this working. I'm trying to create a dynamic menu where a user selects one item and another select list is shown, then another and another (and so on). Here is my JS, it *should* be taking the ID of the div, comparing it to the selected value and then showing another div by settings it's class property to visible:
[Code]...
View 1 Replies
View Related