473,320 Members | 1,977 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

How Does JavaScript Call Forth CSS??


Okay, Folks,

I guess my real burning concern all along is a "high-level" one: just
how does JavaScript interact with CSS?

Right now, my newbie self only knows JavaScript and CSS to *co-
exist*...but I'm beginning to get the sense that they actually
interact -- or, perhaps more precisely, JavaScript acts upon CSS...but
how, exactly??

I see how JavaScript acts upon HTML, but I'm not so sure where
JavaScript acts upon CSS...moreover, I want to see where they could
create whole new browsing experiences, beyond simply new text and new
images (though I'm only just beginning at the level of new ways of
presenting text and images)....

How do I go about all this?? Ugh, I hope all those $$$ worth of books
will help...so far, I'm learning very basic things which I actually
wouldn't use (though the learning itself is fun), while the things I
would like to do, I either don't have the technical know-how for it or
I don't have the creative imagination to bring together what little I
do know -- sigh!!
Jun 27 '08 #1
16 1749
"Prisoner at War" <pr*************@yahoo.comwrote in message
news:c8**********************************@m44g2000 hsc.googlegroups.com...
>
Okay, Folks,

I guess my real burning concern all along is a "high-level" one: just
how does JavaScript interact with CSS?

Right now, my newbie self only knows JavaScript and CSS to *co-
exist*...but I'm beginning to get the sense that they actually
interact -- or, perhaps more precisely, JavaScript acts upon CSS...but
how, exactly??

I see how JavaScript acts upon HTML, but I'm not so sure where
JavaScript acts upon CSS...moreover, I want to see where they could
create whole new browsing experiences, beyond simply new text and new
images (though I'm only just beginning at the level of new ways of
presenting text and images)....

How do I go about all this?? Ugh, I hope all those $$$ worth of books
will help...so far, I'm learning very basic things which I actually
wouldn't use (though the learning itself is fun), while the things I
would like to do, I either don't have the technical know-how for it or
I don't have the creative imagination to bring together what little I
do know -- sigh!!
Basically, you get the element in Javascript, and set its style property.

<div id="content">blah</div>

javascript:

var contentDiv = document.getElementById( "content" );
contentDiv.style.marginLeft = "1em";

Generally (there may be exceptions but I'm not aware of any) the property of
the object corresponds to the name of the CSS property but camel cased.

Jun 27 '08 #2
On 2008-04-27, Nik Coughlin <nr******@gmail.comwrote:
"Prisoner at War" <pr*************@yahoo.comwrote in message
news:c8**********************************@m44g2000 hsc.googlegroups.com...
>>
Okay, Folks,

I guess my real burning concern all along is a "high-level" one: just
how does JavaScript interact with CSS?
[...]
Basically, you get the element in Javascript, and set its style property.

<div id="content">blah</div>

javascript:

var contentDiv = document.getElementById( "content" );
contentDiv.style.marginLeft = "1em";

Generally (there may be exceptions but I'm not aware of any) the property of
the object corresponds to the name of the CSS property but camel cased.
Yes. Another way to do it is to change the class attributes of elements
with setAttribute.

Then you can organize the styles in style sheets rather than packing
them all into the elements' style attributes, and just switch the
elements' classes so they get selected by different selectors.

This kind of thing:

..active
{
border: 2px solid red;
background-color: yellow;
color: black;
etc.
..
}

contentDiv.setAttribute("class", "active")
Jun 27 '08 #3
Ben C wrote:
On 2008-04-27, Nik Coughlin <nr******@gmail.comwrote:
>"Prisoner at War" <pr*************@yahoo.comwrote in message
news:c8**********************************@m44g200 0hsc.googlegroups.com...
>>>
Okay, Folks,

I guess my real burning concern all along is a "high-level" one:
just how does JavaScript interact with CSS?
[...]
>Basically, you get the element in Javascript, and set its style
property.

<div id="content">blah</div>

javascript:

var contentDiv = document.getElementById( "content" );
contentDiv.style.marginLeft = "1em";

Generally (there may be exceptions but I'm not aware of any) the
property of the object corresponds to the name of the CSS property
but camel cased.

Yes. Another way to do it is to change the class attributes of
elements with setAttribute.

Then you can organize the styles in style sheets rather than packing
them all into the elements' style attributes, and just switch the
elements' classes so they get selected by different selectors.

This kind of thing:

.active
{
border: 2px solid red;
background-color: yellow;
color: black;
etc.
..
}

contentDiv.setAttribute("class", "active")
Yeah, be careful doing this though. Imagine you've got:
<div id="contentDiv" class="class1 class2 inactive">bhakjfh</div>

You want to switch between active and inactive and you do:

contentDiv.setAttribute("class", "active")

and suddenly it's:

<div id="contentDiv" class="active">bhakjfh</div>

Whereas what you really want is:

<div id="contentDiv" class="class1 class2 active">bhakjfh</div>

So you probably want to use the split method on contentDiv.className instead
to get an array of class names, then replace inactive with active, glue the
strings in the array back together and reassign it
Jun 27 '08 #4
On Apr 27, 6:21*am, "Nik Coughlin" <nrkn....@gmail.comwrote:
Yeah, be careful doing this though. *Imagine you've got:
<div id="contentDiv" class="class1 class2 inactive">bhakjfh</div>

You want to switch between active and inactive and you do:

contentDiv.setAttribute("class", "active")

and suddenly it's:

<div id="contentDiv" class="active">bhakjfh</div>

Whereas what you really want is:

<div id="contentDiv" class="class1 class2 active">bhakjfh</div>

So you probably want to use the split method on contentDiv.className instead
to get an array of class names, then replace inactive with active, glue the
strings in the array back together and reassign it
Or do:

function activate_item(){
this.className=this.className.replace(/passive/,'active'); // change
passive to active
}

function passivate_item(){
this.className=this.className.replace(/active/,'passive'); // change
active to passive
}
Jun 27 '08 #5
Garmt de Vries wrote on 27 apr 2008 in comp.lang.javascript:
Or do:

function activate_item(){
this.className=this.className.replace(/passive/,'active'); // change
passive to active
}

function passivate_item(){
this.className=this.className.replace(/active/,'passive'); // change
active to passive
}
Perhaps:

function toggle_item(){
this.className=
(/active/.test(this.className))
? this.className.replace(/active/,'passive')
: this.className.replace(/passive/,'active');
};

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Jun 27 '08 #6
On Apr 27, 4:21 am, "Nik Coughlin" <nrkn....@gmail.comwrote:
Ben C wrote:
On 2008-04-27, Nik Coughlin <nrkn....@gmail.comwrote:
"Prisoner at War" <prisoner_at_...@yahoo.comwrote in message
news:c8**********************************@m44g200 0hsc.googlegroups.com...
>Okay, Folks,
>I guess my real burning concern all along is a "high-level" one:
just how does JavaScript interact with CSS?
[...]
Basically, you get the element in Javascript, and set its style
property.
<div id="content">blah</div>
javascript:
var contentDiv = document.getElementById( "content" );
contentDiv.style.marginLeft = "1em";
Generally (there may be exceptions but I'm not aware of any) the
property of the object corresponds to the name of the CSS property
but camel cased.
Yes. Another way to do it is to change the class attributes of
elements with setAttribute.
Then you can organize the styles in style sheets rather than packing
them all into the elements' style attributes, and just switch the
elements' classes so they get selected by different selectors.
This kind of thing:
.active
{
border: 2px solid red;
background-color: yellow;
color: black;
etc.
..
}
contentDiv.setAttribute("class", "active")

Yeah, be careful doing this though. Imagine you've got:
<div id="contentDiv" class="class1 class2 inactive">bhakjfh</div>

You want to switch between active and inactive and you do:

contentDiv.setAttribute("class", "active")

and suddenly it's:

<div id="contentDiv" class="active">bhakjfh</div>

Whereas what you really want is:

<div id="contentDiv" class="class1 class2 active">bhakjfh</div>

So you probably want to use the split method on contentDiv.className instead
to get an array of class names, then replace inactive with active, glue the
strings in the array back together and reassign it
It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:

http://www.openjs.com/scripts/dom/cl...nipulation.php
Jun 27 '08 #7
Prisoner at War wrote:
Okay, Folks,

I guess my real burning concern all along is a "high-level" one: just
how does JavaScript interact with CSS?
Depends on what level of "interaction" you're specifying. Direct
manipulation of style rules is handled by something called the `CSS
Object Model' (still a WIP, IIRC); but computed style rules can be
affected by DOM mutations. It is the latter that is more often the case.
Right now, my newbie self only knows JavaScript and CSS to *co-
exist*...but I'm beginning to get the sense that they actually
interact -- or, perhaps more precisely, JavaScript acts upon CSS...but
how, exactly??

I see how JavaScript acts upon HTML, but I'm not so sure where
JavaScript acts upon CSS...moreover, I want to see where they could
create whole new browsing experiences, beyond simply new text and new
images (though I'm only just beginning at the level of new ways of
presenting text and images)....
In short, most JavaScript tends to act on CSS only by proxy through the
HTML. In my code, I generally modify styles by changing the classes of
elements.

P.S. The `DOM', or `Document Object Model', is the precise specification
that most people think of when the think of JavaScript; any time you're
dynamically modify DOM (e.g. through document.getElementByID), you're
actually using the DOM. Most literature tends to gloss over this
distinction.

--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth
Jun 27 '08 #8
Garmt de Vries wrote:
On Apr 27, 6:21 am, "Nik Coughlin" <nrkn....@gmail.comwrote:
>Yeah, be careful doing this though. Imagine you've got:
<div id="contentDiv" class="class1 class2 inactive">bhakjfh</div>

You want to switch between active and inactive and you do:

contentDiv.setAttribute("class", "active")

and suddenly it's:

<div id="contentDiv" class="active">bhakjfh</div>

Whereas what you really want is:

<div id="contentDiv" class="class1 class2 active">bhakjfh</div>

So you probably want to use the split method on contentDiv.className instead
to get an array of class names, then replace inactive with active, glue the
strings in the array back together and reassign it

Or do:

function activate_item(){
this.className=this.className.replace(/passive/,'active'); // change
passive to active
}

function passivate_item(){
this.className=this.className.replace(/active/,'passive'); // change
active to passive
}
While easier to program, the downside to this as a general approach is
that you can wind up changing things you didn't mean to change.

class="one alone"

Replace class "one" with class "two":

class="two altwo"

which is probably not what was intended.
Jun 27 '08 #9
"Harlan Messinger" <hm*******************@comcast.netwrote in message
news:67*************@mid.individual.net...
>Or do:

function activate_item(){
this.className=this.className.replace(/passive/,'active'); // change
passive to active
}

function passivate_item(){
this.className=this.className.replace(/active/,'passive'); // change
active to passive
}

While easier to program, the downside to this as a general approach is
that you can wind up changing things you didn't mean to change.

class="one alone"

Replace class "one" with class "two":

class="two altwo"

which is probably not what was intended.
Yep but you can match regular expressions against whole words only which
would avoid that issue

Jun 27 '08 #10
On Apr 29, 3:36 pm, "Nik Coughlin" <nrkn....@gmail.comwrote:
"Harlan Messinger" <hmessinger.removet...@comcast.netwrote in message

news:67*************@mid.individual.net...
Or do:
function activate_item(){
this.className=this.className.replace(/passive/,'active'); // change
passive to active
}
function passivate_item(){
this.className=this.className.replace(/active/,'passive'); // change
active to passive
}
While easier to program, the downside to this as a general approach is
that you can wind up changing things you didn't mean to change.
class="one alone"
Replace class "one" with class "two":
class="two altwo"
which is probably not what was intended.

Yep but you can match regular expressions against whole words only which
would avoid that issue
And that is something that was discussed on DHTML Central about 6
years ago. The first approach is the basic idea, but doesn't work, as
Harlan pointed out.

The pattern "(^|\\s)"+token+"($|\\s)" has been adopted by all the
libraries and further optimized to use non-capturing groups. The
pattern is now: new RegExp("(?:^|\\s)"+token+"(?:$|\\s)");

It can be a performance boost to cache the patterns (though only if
the cache is used). YUI seems to have discovered this, too.

Basic idea is that it's faster to get an object from a cache than
create one, even if it means an extra function call.
http://www.dhtmlkitchen.com/learn/js...exp-cache.html

http://www.dhtmlkitchen.com/ape/buil...classname-f.js

Garrett
Jun 27 '08 #11
On Apr 27, 2:20 pm, "david.karr" <davidmichaelk...@gmail.comwrote:
>

It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:

http://www.openjs.com/scripts/dom/cl...nipulation.php

Cool, thanks! I'd actually managed to google up JQuery but I wasn't
sure about JavaScript "libraries" and all that....
Jun 27 '08 #12
On Apr 30, 6:59 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
On Apr 27, 2:20 pm, "david.karr" <davidmichaelk...@gmail.comwrote:
It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:
http://www.openjs.com/scripts/dom/cl...nipulation.php
Wow, I guess libraries are still using capturing groups. I thought it
was pretty common knowledge to use non-capturing groups. They've got
that right in the tutorial and I can even see in Prototype JS:

removeClassName: function(element, className) {
if (!(element = $(element))) return;
element.className = element.className.replace(
new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
return element;
}

A capturing group stores the whitespace:
(\\s+|$)

A non-capturing group does not:
(?:\\s+|$)

It is less efficient to use a capturing group.
A capturing group increases the count of the backreference number, so
for more complicated expressions, it would be harder to keep track of
which group is which number, e.g. \1 or $1.

It would actually be possible to make the Prototype JS function even
less efficient by adding the batch() functionality of YUI. But I'd
have to day they've done a pretty bad for a major library. The
assignment in the conditional, the extra call to $(), the capturing
regexp (^|\\s+), the misnaming of trim() as "strip()" (and the adding
of this misnamed trim() function to String.prototype).

At first guess, it seems that Prototype JS's "strip()" is a
normalize() function, but it's not. It's a trim() function, misnamed.
trim() (or strip()) doesn't wipe out the whitespace in the middle, so
you end up with "foo bar baz quux" -remove "bar" -"foo baz quux" -
remove "baz -"foo quux". The add
It's quite surprising to see such code in such a popular library, at
least to me.

In takinga look at jQuery, i find another algorithm that is even
slower. So I have to take back what I said above about "the only thing
that could make the Prototype JS function slower". I didn't think
about the jQuery approach. Create a method "addClass" that delegates
to className.add, which splits the classname to an array, then uses an
each() function, then inside that function, check to make sure the
nodeType is 1.

Here it is:
http://code.jquery.com/jquery-latest.js

className: {
// internal only, use addClass("class")
add: function( elem, classNames ) {
jQuery.each((classNames || "").split(/\s+/), function(i, className)
{
if ( elem.nodeType == 1 && !jQuery.className.has( elem.className,
className ) )
elem.className += (elem.className ? " " : "") + className;
});
},
The function is intended to be called on a Decorated collection, which
would mean an extra call to each(). In most cases, that could be
replaced by adding a fragment identifier to the css file, and then
adding a class to the ancestor.

..window .link {}

/* adding a class to .window object's changes the links */
..window-raised .link { color: red }

/* jQuery tends to encourage this instead */
..window .link-active { color: red }

Cool, thanks! I'd actually managed to google up JQuery but I wasn't
sure about JavaScript "libraries" and all that....
I'm not so sure about those JavaScript libraries, either.
Jun 27 '08 #13
dhtml wrote:
On Apr 30, 6:59 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
>On Apr 27, 2:20 pm, "david.karr" <davidmichaelk...@gmail.comwrote:
>>It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:
http://www.openjs.com/scripts/dom/cl...nipulation.php

Wow, I guess libraries are still using capturing groups. I thought it
was pretty common knowledge to use non-capturing groups. They've got
that right in the tutorial and I can even see in Prototype JS:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Therefore, chances are it is a really bad idea to do that. In fact, it
turns out that non-capturing parentheses are not supported before JavaScript
1.5, JScript 5.5, ECMAScript Ed. 3. Use them and your script will break in
IE before version 5.5, for example.
A capturing group stores the whitespace:
(\\s+|$)

A non-capturing group does not:
(?:\\s+|$)
True, after a fashion.
It is less efficient to use a capturing group.
Nonsense. The tiny amount of memory saved by not storing the backreference
is bought with the tiny amount of runtime that is required more to parse the
non-capturing expression.
F'up2 cljs

PointedEars
--
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
-- from <http://www.vortex-webdesign.com/help/hidesource.htm>
Jun 27 '08 #14
On May 1, 5:03 pm, dhtml <dhtmlkitc...@gmail.comwrote:
On Apr 30, 6:59 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
On Apr 27, 2:20 pm, "david.karr" <davidmichaelk...@gmail.comwrote:
It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:
>http://www.openjs.com/scripts/dom/cl...nipulation.php

Wow, I guess libraries are still using capturing groups. I thought it
was pretty common knowledge to use non-capturing groups. They've got
that right in the tutorial and I can even see in Prototype JS:

removeClassName: function(element, className) {
if (!(element = $(element))) return;
element.className = element.className.replace(
new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
return element;
}

A capturing group stores the whitespace:
(\\s+|$)

A non-capturing group does not:
(?:\\s+|$)

It is less efficient to use a capturing group.
A capturing group increases the count of the backreference number, so
for more complicated expressions, it would be harder to keep track of
which group is which number, e.g. \1 or $1.

It would actually be possible to make the Prototype JS function even
less efficient by adding the batch() functionality of YUI. But I'd
have to day they've done a pretty bad for a major library. The
assignment in the conditional, the extra call to $(), the capturing
regexp (^|\\s+), the misnaming of trim() as "strip()" (and the adding
of this misnamed trim() function to String.prototype).

At first guess, it seems that Prototype JS's "strip()" is a
normalize() function, but it's not. It's a trim() function, misnamed.
trim() (or strip()) doesn't wipe out the whitespace in the middle, so
you end up with "foo bar baz quux" -remove "bar" -"foo baz quux" -
remove "baz -"foo quux". The add

It's quite surprising to see such code in such a popular library, at
least to me.

In takinga look at jQuery, i find another algorithm that is even
slower. So I have to take back what I said above about "the only thing
that could make the Prototype JS function slower". I didn't think
about the jQuery approach. Create a method "addClass" that delegates
to className.add, which splits the classname to an array, then uses an
each() function, then inside that function, check to make sure the
nodeType is 1.

Here it is:http://code.jquery.com/jquery-latest.js

className: {
// internal only, use addClass("class")
add: function( elem, classNames ) {
jQuery.each((classNames || "").split(/\s+/), function(i, className)
{
if ( elem.nodeType == 1 && !jQuery.className.has( elem.className,
className ) )
elem.className += (elem.className ? " " : "") + className;
});
},

The function is intended to be called on a Decorated collection, which
would mean an extra call to each(). In most cases, that could be
replaced by adding a fragment identifier to the css file, and then
adding a class to the ancestor.

.window .link {}

/* adding a class to .window object's changes the links */
.window-raised .link { color: red }

/* jQuery tends to encourage this instead */
.window .link-active { color: red }
Cool, thanks! I'd actually managed to google up JQuery but I wasn't
sure about JavaScript "libraries" and all that....

I'm not so sure about those JavaScript libraries, either.
Assignment in conditional is done to extend ('normalize') an element
(so that you can simply pass string into Element#removeClassName) and
"return" if it's not a valid element. Such "normalization" is
consistent throughout a library. Capturing groups, afaik, are not
supported by some of the browsers that Prototype supports. #strip is
named after Ruby's method - as you might know, prototype follows its
conventions in certain cases.

Best,
kangax
Jun 27 '08 #15
On May 1, 6:34 pm, kangax <kan...@gmail.comwrote:
On May 1, 5:03 pm, dhtml <dhtmlkitc...@gmail.comwrote:
On Apr 30, 6:59 pm, Prisoner at War <prisoner_at_...@yahoo.comwrote:
On Apr 27, 2:20 pm, "david.karr" <davidmichaelk...@gmail.comwrote:
It's probably best to use reusable code for operations like this, and
fortunately all of the major JS frameworks include this. The
following URL provides a good summary of this:
http://www.openjs.com/scripts/dom/cl...nipulation.php
Wow, I guess libraries are still using capturing groups. I thought it
was pretty common knowledge to use non-capturing groups. They've got
that right in the tutorial and I can even see in Prototype JS:
removeClassName: function(element, className) {
if (!(element = $(element))) return;
element.className = element.className.replace(
new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
return element;
}
A capturing group stores the whitespace:
(\\s+|$)
A non-capturing group does not:
(?:\\s+|$)
It is less efficient to use a capturing group.
A capturing group increases the count of the backreference number, so
for more complicated expressions, it would be harder to keep track of
which group is which number, e.g. \1 or $1.
It would actually be possible to make the Prototype JS function even
less efficient by adding the batch() functionality of YUI. But I'd
have to day they've done a pretty bad for a major library. The
assignment in the conditional, the extra call to $(), the capturing
regexp (^|\\s+), the misnaming of trim() as "strip()" (and the adding
of this misnamed trim() function to String.prototype).
At first guess, it seems that Prototype JS's "strip()" is a
normalize() function, but it's not. It's a trim() function, misnamed.
trim() (or strip()) doesn't wipe out the whitespace in the middle, so
you end up with "foo bar baz quux" -remove "bar" -"foo baz quux" -
remove "baz -"foo quux". The add
It's quite surprising to see such code in such a popular library, at
least to me.
In takinga look at jQuery, i find another algorithm that is even
slower. So I have to take back what I said above about "the only thing
that could make the Prototype JS function slower". I didn't think
about the jQuery approach. Create a method "addClass" that delegates
to className.add, which splits the classname to an array, then uses an
each() function, then inside that function, check to make sure the
nodeType is 1.
Here it is:http://code.jquery.com/jquery-latest.js
className: {
// internal only, use addClass("class")
add: function( elem, classNames ) {
jQuery.each((classNames || "").split(/\s+/), function(i, className)
{
if ( elem.nodeType == 1 && !jQuery.className.has( elem.className,
className ) )
elem.className += (elem.className ? " " : "") + className;
});
},
The function is intended to be called on a Decorated collection, which
would mean an extra call to each(). In most cases, that could be
replaced by adding a fragment identifier to the css file, and then
adding a class to the ancestor.
.window .link {}
/* adding a class to .window object's changes the links */
.window-raised .link { color: red }
/* jQuery tends to encourage this instead */
.window .link-active { color: red }
Cool, thanks! I'd actually managed to google up JQuery but I wasn't
sure about JavaScript "libraries" and all that....
I'm not so sure about those JavaScript libraries, either.

Assignment in conditional is done to extend ('normalize') an element
(so that you can simply pass string into Element#removeClassName) and
"return" if it's not a valid element. Such "normalization" is
consistent throughout a library. Capturing groups, afaik, are not
supported by some of the browsers that Prototype supports. #strip is

Non-capturing groups that is.
Jun 27 '08 #16
@dhtml
remove "baz -"foo quux".
I believe your assertion is false, it still only leaves 1 space.
The pattern matches the beginning of the string OR one or more
<spacesthen the className then the end of the string OR one of more
<spacesafter.
This would remove <space>baz<spaceand replace with <spaceturning
the className value into "foo<space>quux".

Info not directed at anyone:
Prototype doesn't officially support IE 5.5
http://www.w3schools.com/browsers/browsers_stats.asp
At some point ya have to let that version go :)

- JDD
Jun 27 '08 #17

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: Fendi Baba | last post by:
The function is called from opencalendar(targetfield). Thanks for any hints on what could be the problem. .............................................................. var...
4
by: Guillaume CABANAC | last post by:
Hi everybody, Does anybody know how to access a remote database (say Oracle) from JavaScript code (within a Firefox Extension) ? I know ADO via ActiveX in the IE world and think a similar...
3
by: Angel | last post by:
Hi, I have a page which shows a matrix of names and grades for given period. All the grades fields must be editable and they can be up to 200 fields (20 students with 10 grades each) Since...
7
by: endlesstide | last post by:
If I have two functions, and want to toggle back and forth between 1 and 2 from an onclick event.... how would I parse that? Thanks mucho <script> javascript function1() { ...
1
by: tshad | last post by:
I need to do some work with Javascript and my datagrid controls. I want to do something like: ********************************************************* function CheckQuestion() { var checkBox...
1
by: Eric Capps | last post by:
This may be more of a Java question, but I feel that JavaScript experts may be more qualified to help me find a solution. In short: is it possible to call a Java method from JavaScript, passing...
4
by: Java Guy | last post by:
I can find a lot of stuff on the internet about javascript, except how to I determine which version my IE6 is compatible with, or where to download javascript plugin/engine/what-ever for Windows...
13
by: nihad.nasim | last post by:
Is it possible to enter or call c++ code blocks from javascript functions? If so, how? Thanks
34
by: -Lost | last post by:
I'm REALLY liking this so far. And for those who welcome something a little less cryptic than what the resident date guru offers, here's a chance to try something fairly elegant and definitely...
19
by: Prisoner at War | last post by:
Okay, Folks, I guess my real burning concern all along is a "high-level" one: just how does JavaScript interact with CSS? Right now, my newbie self only knows JavaScript and CSS to *co-...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.