I am currently learning jQuery and am setting up a site which sells T-Shirts. The products page lists the same T-Shirt in 3 colours:
iMMAculate HTML Prototype / 10.05.11 / Product 1
When the user clicks on one of the colours, e.g. Charcoal, the page loads with the hashtag on the end #Charcoal, so:
iMMAculate HTML Prototype / 10.05.11 / Product 1
Currently I have the page set up so when the user clicks on one of the colour swatches, it loads the images and the colour name onto the page. However, what I would ideally like to have is for the page to load the relevant colour images and h2 span (colour name) that is generated in the URL sorry does that make sense?
I want an action to fire ONCE on mouseenter. How do I keep the action from repeating ad nauseum?
It's a <td id="cap"> with an image. An alternate <td id="capB"> placed on top of it (via z-index) is supposed to momentarily become display:inline and show its image, then goes display:none again and the original <td id="cap"> becomes visible again until mouse goes out and re-enters.
But the problem is, my script keeps refreshing and thinks it's repeatedly a genuine mouseenter, so the whole thing triggers endlessly.
How to I stop the action's repeat unless a real "user made" mouseleave and mouseenter occurs? I've tried using .stop( ) but no matter which two boolean parameters I enter for it, it doesn't help.
My current code looks like this. This causes non-stop flashing of the alt. td element.
I want to change attribute action in form. Problem is that in that form is also input with name action. Unfortunately renaming of that input is worst case because many servlets depend on it.
This works in konqueror but not in IE and Mozilla:
I want to change the action attribute of certain forms. I am new to JQuery so I wrote this code but it doesn't work at all: <script type="text/javascript"> $(document).ready(function(){ $("form").not("form[action*=/nxpages/index.xhtml]").each(function(){ alert("Cat1!"); }); $("form[action*=/nxpages/index.xhtml]").each(function(){ alert("Cat2!"); }); }) </script> But it seems that JQuery doesnt work at all. How can I change the above code to modify the action value to something else?
I have come across a very interesting problem that seems to be impossible to solve. Basically a web application that I am working on relies on a JavaScript function called go to change the input named view to the page name and submit the form. This form's type is post, so no values are included in the actual URL string. There is also another input called action and it's value is view. This is to tell the application that the user would like to view a page. The problem is because of the variables being of method post, page refreshes and back and forwards return errors because the post variables view and action aren't sent with the required data. To somewhat solve this problem I have created a feature that tells the application that if the post value page is empty then to try and get a GET var called page. To insert this var into the go javascript function I simple add this code
This line basically adds &page=[page] to the action of the form. The problem is, this code doesn't work because action is also the name of a form element. Referencing document.go.action refers to the input element named action and not to the form's action. Changing the named of the action input value is out of the question (Way to much changing of code, and possible room for error). What can I do to change the action of the form without referencing the input named action. Here is my go form and the JavaScript code:
i have found a possible bug in 1.4 but it's only in Internet Explorer 7 & 8.The following code does not work and completely ruins every peice of jquery on the page (that means everything inside $(document).ready and anyting else...
I cant see any syntax errors - i pulled the example from the 1.4 site. There is no trailing commas in the object notation and i really cant see any reason it would work in firefox and not IEx and more to the point not only not work in IEx but break any other jquery in the entire page....
I'm working with a large (and unweildy) ASP.NET application, and there is a lot of jQuery code that uses selectors like this:
[name=_aspnetControl$_withASubControl] And unfortunately, some selectors that also look like this:
[name^=_someAspNetControl$_radioButtonList].
In other words, the effort to remove the $ from the attribute selectors would be monumental. If it is possible to escape the $ symbols, I can do that easily enough, but unfortunately the situation right now means that I can't upgrade to jQuery 1.5.
I'm learning jQuery with XML. I'm familiar with other query languages such as XPath. I'm having a little bit of difficulty wrapping my brain around how jQuery works but I think I can make the leap if I see a solution to a problem I know how to solve with other methods Given the following XML, please share a jQuery solution to finding the value of attribute B in elements named bar where attribute A has the value 30:
I'll trying to tell the difference between the following three cases:
<img alt="text string" /> <img alt="" /> <img />
I can do this in Firefox with the following code, where elem is the HTMLElement representing each image, but IE doesn't seem to differentiate between empty string and undefined.
var alt = elem.getAttribute('alt'); alt = (alt) ? alt : ((alt===null) ? 'really_null' : "");
The desired output from running this code on the 3 tags above is:
text string
really_null
It seems like this should be really easy...but I'm having a really difficult time trying to figure out what's going on...
Here is my relevant code for an arbitrary page (let's call it PAGE_B): <body onload="window.location.hash='anchor'">
With this code, if the user goes from PAGE_A to PAGE_B, he will jump to PAGE_B#anchor after PAGE_B has fully loaded. BUT... if he clicks the back button, instead of returning to PAGE_A (which is what I want), he will return to PAGE_B (without the anchor).
Is there any way to change this behavior... perhaps to replace the anchor of page without touching the history stack?
For my links I have two portions. The first is the regular href for people that don't have javascript can navigate the site and the next an onclick for those with javascript can load pages inline with transitions and have it stay in their history for Firefox. All a la that wonderful ajax stuff everyone knows about by now.
It seemed like a good idea at the time... Because it is stored in the #hash value these people can link another person that has javascript enabled as well to the page and have the page load. But that's it. So we have 96% some odd percent of users included.
There is going to be confusion that happens if someone sends a link to someone without javascript, since it will just load the home page.
From what I have researched.. the server doesn't pick up the #hash value (this is obvious since when you click on a link that's linking to a spot in the page, it's the browser doing the work). That's okay, the thing I want anyway is for it to pick up on the very first request via well.. something. The first request is when the server does do something and may have a chance to do something with a hash value.
So questions: 1. Can I manipulate the server into 'reading' this #hash value on the initial request and then put it through say.. php or mod_rewrite?
2. What about css.. this is another client end thing that could work, but I am completely lost when it comes to css and recognising hash values. Even if it just works for Firefox/MSIE/Opera.. well.. that's something as it's non-intrusive and ups the people that can access my site properly.
There is an option to post a noscript tag to notify users on the first load that their javascript is off.. but there's no way for php to also be smart and say "hey, there's a Hash value"... as it could, I would just load the page that way. Code:
It came up as unrecognizable as an MD5 hash and it looks like hexadecimal to me. Can someone help me convert it to what it is supposed to say? I think it is a series of numbers but am not entirely sure.
the problem with ajax is that the page content generated cannot be bookmarked, nor does the back button work (in some browsers), ive read about history libraries and all sorts of heavy stuff, but i would like to know one simple thing.i want to add a Code JavaScript:
window.location.hash='#';
upon a link click, but theres a catch, when this hash add's, i don't want the screen to jump to the top, i want it to remain where it is.clarification:
1. i open page 2. i scroll down 3. i click link that adds a hash (maybe with a value #test) 4. the page MUST not scroll back to the top.
note: i see that adding a hash has different effects in different browsers, is there a cross browser way?
I need to change the way a form on my page works. As currently when you enter in the form information and hit send, you get sent to another page that loads up for testing purposes a basic 'message sent' message. I want the HTML page to load within the ID#Contact which is stylized with a width and a height. I've been directed to the following procedure but I don't know how to make it come together.
jQuery.post() jQuery API .load() jQuery API .ready() jQuery API
I understand that the onchange event occurs when the value of a form element changes (and after the element loses focus).
But what about the case where the value of a text box (for example) is changed from a javascript function? Is an onclick event triggered in such a case? I find that this is not happening in IE.
I'm combing two scripts work fine in their own The combined script only has one onkeyup event. Everything works as expected until I enter something in the input box that's produced by the only onclick event in the script.
Here's my work. Why doesn't the onkeyup event work?
I am trying to make a 500 x 500 window pop-up when someone clicks a link for a coupon. But I can't seem to control the size regardless of the values. Here is the function:
HTML Code: function popupWinCoupon(url, width, height) { popup = window.open(url,"popup","width=500","height=500"); return false; }
I also have this at the point of the anchor tag where it is clicked:
HTML Code: onclick="return popupWinCoupon(this.href,500,500)" Unfortunately the window repeatedly opens up at about 350px wide and 700px tall.
I'm combing two scripts work fine in their own The combined script only has one onkeyup event.Everything works as expected until I enter something in the input box that's produced by the only onclick event in the script.
A page I have shows a different background colour depending on the hash portion of the url as it is first loaded. For example a link to mysite/mypage#0000FF would result in a page with a blue background. But another link, this one to mysite/mypage#FF0000, would not give me a red background if directed to the window where mypage#0000FF was loaded just one moment ago. This is normally to be expected, because the browser thinks same page, no load event, basta.
If I use the search portion, for obvious reasons, that is treated a new page load, even when it is from the cache, but I need the hash here. So how do I detect in mypage the moment when the hash string is changed by a user click event on another page in another window, perhaps even from another domain?
I need to get some user input which will be a six digit number. I will split it into two character pairs. Each pair will need to be "looked up", for example:
I want a hash table where DOM nodes are the keys. In Rhino, I can just use the node objects directly as the keys, since the Java objects that implement the DOM have handy toString() methods that return a unique string for each object:
var a = {}; a[document] = ...; a[document.documentElement] = ...;
This is obviously not portable. The portable solution, I guess, is to come up with a hash function that works usefully on DOM nodes. Has anyone thought about this problem and come up with a solution? With a DOM 3 implementation I could even do something like:
var nodes = []; var nextIndex = 1; function getIndex(n) { var i = n.getUserData("NodeIndex"); if (!i) { i = nextIndex++; n.setUserData("NodeIndex", i, null); } return i; }