a common task when writing multi-use functions, is deciphering the type of data passed to the function.
Javascript's built-in data identification methods complicate function writing, by imposing a "20 questions" style interogation to determine the actual, useful to a programmer, type.
they also slow down functions, requiring both a function execution and a comparision operation upon every type guess.
a common method is something like:
if(typeof x=='string'){ };
but this has several limitations. for example:
x=[1,2,3];
typeof x; //returns 'object'
safely catching an undefined is often done like:
if(typeof x != 'undefined' ){ };
my function making got a lot easier after writing these simple prototypes:
//when expecting a string or array possibility:
y=x.isString?x:x.join();
//more-flexible event handling:
function doBold(elm){ //accepts element object or id string...
if(elm.isString){elm=document.getElementById(elm);}
elm.style.fontWeight="bold";
}//end doBold
// detect an undefined variable:
if( ! x.type){ alert('x is undefined')};
by tucking the protos in your script file, you get simpler, faster-executing code. (for a tiny bit of overhead)
if script length is of upmost concern (as in a bookmarklet), these smaller protos give you simpler typing: (without the speed benefits...)
Object.prototype.type=function(){return typeof this;};
//usage:
switch(x.type()){
case 'string': return x;
case 'date': return x.toLocaleString();
case 'array': return x.join('
');
default: return x.toString();
}//end switch;
I tried using the "For Loop" function to accomplish this but I couldn't get it to work. show me an easier way to shorten this code up
Code: function normal() { var welcomelink = document.getElementById("welcomelink");[code].....
I did try to recode everything so that the link/content and sublink/content would follow a numerical sequence...e.g. link1/content1, link2/content2, link3/content3, sublink1/subcontent1, sublink2/subcontent2, sublink3/subcontent3...etc. and then use the for...loop function but again it failed on me.
I have a js script that changes the visibilty of a selected span to "visible", but makes sure that no other related spans are visibile to the user by hiding everything first....
I have to change text input type to password input type and i am using jquery script. This script work for FF, Chrome and Safari browser but not worked on ie7, ie8.
Script is as:-
How can i update my script, so that it works cross the browser.
We have some date fields in our HTML forms in various places. In the accounts package we use, there is some pretty nifty date handling.
It has a standardised date format of dd/mm/yyyy and if you enter e.g.
3-12 it will switch it to 3/12/2005
Same applies for e.g. 3:12 etc
Anyone know of some javascript which will do this for our HTML form fields? Our target format is actually dd-mon-yyyy and it would make it really nice for users if the system could accept a variety of input formats and then switch it to a date to our specification. Any suggestions?
I have few textfields and dropdowns in my jsp, form is submitted on clicking an image link.
In case there is an error for instance some text field is left empty, then message is displayed below respective fields ( using spans, inner html). The message is displayed onblur event of the field. So if there was an error then message is displayed, now if the user corrects the error and clicks the link then first the message disaapears ,which is desired ,but he has to click again to submit the form. please suggest a way to handle this. So that user doesn't have to click the link twice to submit the form.I tried having onmousedown and onfocus events on image , but then sometimes the form was submitted twice which gave backend errors.
This works but the user needs to hit the go button, if they just hit return the text field is emptied, I would like if the user hits ENTER, the search begins.
I believe I can add something similar as
if (window.event.keyCode == 13)
But I am not sure how to incorporate it in the form?
I am struggling to find definitive information on how IE 5.5, 6 and 7 handle character input (I am happy with the display of text).
I have two main questions:
1. Does IE automaticall convert text input in HTML forms from the native character set (e.g. SJIS, 8859-1 etc) to UTF-8 prior to sending the input back to the server?
2. Does IE Javascript do the same? So if I write a Javascript function that compares a UTF-8 string to a string that a user has inputted into a text box, will IE convert the user's string into UTF-8 before doing the comparison?
I think that the answer to question 1 is probably "YES", but I cannot find any information on question 2!
Geeting a JS error from IE 6 only in this method: handle: function( event ) { var all, handlers, namespaces, namespace, events;
[Code]...
On the last line of the code snippet above. It appears to me that IE6 doesn't like the fact that the events object is undefined. To trigger this error we are doing a simple blur binding to an input box. ex:
$(field).bind('blur', function(){onfocusout(this);}); It appears IE 6 stops executing JS after the error (imagine that). Is this an issue in jQuery core or BTW I know MS has dropped IE 6 support but we still have customers.
I have javascript calculating the total price of all the products in a shoppping cart. The prices are in the format of 10.99 or 5.50 or 10 ete.g if there are five items bought for 10.99 and 1 bought for 10, the script will multiply 10.99 by 3, then multiply 10 by one, then add the two results.
The resulting number is sometimes right, but quite often it ads an extra '000000002' or so to the amount??
I have two div elements (both dynamically created, one within the other). The parent div has an event attached to it:
contextmenuDIV.onmouseout = function () {doSomething()}
for example. However the onmouseout event will fire when you mouseover the child div as (of course) I am technically leaving the div layer (despite it being the parent).
Is there anyway to cancel this? I've read all about bubbling and all that, but it's just confusing me even more!
Anyway, at all, to allow me to have divs within another div element but only allow the event to fire for the parent!
I work in a team of developers and our pages are dynamically created using Java.I can at any moment change the inline JS across a site due to this so changes are easier then if the site was just static HTML.As far as reasons to use dom 2 over inline, I looking for something beyond:
it separates behavior from html
it is a best practice
it is the 'modern' way of doing it
I need facts that explain why it is a best practice or why 'modern' is better like : you can only assign one function action to the event.That was just an example which I see but is not true to me.I can either assign multiple functions to it like:
and then have a function defined before the inline call like
Code JavaScript: function myMultiFunctionCall() {[code].....
Here the second statement overwrites the first.By the way, here is a con for using dom and to me a big one considering debugging: you can't see what event handlers are assigned to what unlike inline where it is obvious because it is in the page. see http:[url].......
I am working on this web site with some of the pages at a different domain name. It is actually one web site, but some of the pages are at a different domain name (different root, too) although the IP address is the same.
Basically, there is one main window, and a pop-up window. They need to "talk" to each other - mainly access properties to see what page they are on.
As, the web site is on two domain names, there is a security problem when the pop-up window tries to read properties in the main window, or vice versa.
Is there anyway to share information between the two? Or is it hopeless?
The following bit of javascript writes and retrieves a cookie which counts a users visits to the page. Then using swfobject it both embeds main_banner.swf and passes the cookie value "visits" to it via flashvars. The trouble is in the actionscript below; the vallue has been passed (this is certain, because the .swf shows up rather than the alternative content)- but the .swf is stuck on the first frame rather than processing the cookie and sending the user to the appropriate frame label.
I am having a list (ul) in which a mouse over will populate its sub categories as list under that(like tree) and so on. My problem is, when passes mouse over a 2nd or 3rd level element, 2 mouse over events will be fired (The actual one and its parent) The sample code is given below
How can I have a button with onclick that calls a function which returns a true/false based on the associated input, and based on the return value shows a message that it was true or false. I see how onclick can call one function, but is there a way to call two functions and use the return value of one of the functions?
I am using IFRAMES to load 3rd party domains in my website. I am facing few problems using IFRAMES in IE and Firefox.
1) I am unable to login into the 3rd party website within the IFRAME. Is there any solution to overcome this issue?
2) Upon clicking a link inside 3rd party wesite within the IFRAME, the resulting page is not loading within the IFRAME, it is going out of scope. For example clicking MyMail link in yahoo.
I have a JSP page with several forms on it. Some of these forms are generated dynamically, and each of them submits some information to a database.
Handling one form is easy, as I can simply make the form post to itself, and handle the data using a single bean. Since I have multiple forms, I now have a problem. Several of the forms on the page handle the same type of data (same input names), and a 'setproperty *' call for each of the form beans would change data in several beasn, not just the form/bean that sent the data.
I am attempting to write a separate JSP with a single bean that handles a form submission. However, I'm not sure how to make this page go back to the referring page from which the data was submitted.
I have a form with the same structure being loaded in 3 tabs. Now during validation, I will have issues with the IDs of the form fields. Now is it possible to disable the forms in tab 1 and tab 3 when tab 2 is clicked.
Couple questions for the jQuery internals-aware folks. This is a bit long, sorry for that. I'm working on beefing up error handling in a web application. I want to ensure that I'm catching all exceptions and handling them via my own UI system. The window.onerror function is part of the solution,
A client of mine is trying to integrate one of his Web systems with my system. In an essence, he wants to embed my system's web UI into his "master" web page, and display it in a sub-frame whenever a user requests my system display.My system (JBoss AS) has Basic Authentication enabled. So if a user attempts to access my system he/she is prompted to provide username/password. If correct credentials are provided, then user is allowed access to my system / web pages.Now, the client is trying to automate the login. He wants to provide the login information automatically, through JavaScript in his master page (this is needed so that users of his system don't provide any credentials - all user/pwd information is passed under the curtains).What is wrong in the approach above and do you know if there is a better way to properly implement this seamless logging (knowing that Basic Authentication is the only option)?
Each of those div's is positioned differently using css, as displayed in the image below: Each div has an event listener for the click event.In the image above I marked a point. If the user would click on that point, are all 3 event listeners supposed to fire? As I understood it, there's a capture and a bubbling phase, but these only go down through and up from the ancestors of the target right? And none of the div's are ancestors of eachother, they just happened to overlap because of the css position.
How would I let all registered eventsHandlers be fired whenever a user clicks on overlapping HTML elements? (so the eventHandlers for each of the 3 div's should be fired).