Two Calls For The Same Window Function, But One Fails?
Aug 16, 2011
Two calls, one from a form and one from the html body reach the same 'window.open' function but only the former works.
The idea behind the simplified script of my post is to select to open one of two windows (files) by pressing one of two buttons. Each button passes a different parameter to the 'open/focus' window function. This function has an argument(arg) place holder to determine which window(file) to open(or focus) when a button is pushed and a corresponding string(argument) is passed. The window function is simply a double function,repeating the same if-else statements. That is, with the function(arg): "if(if-else) else(if-else)", the argument passed to 'arg' will determine if[to] {open else focus file1(button1)} else[to] {open else focus file2(button2)} in a new window.
Using a PC with either Explorer or Firefox, both the form button and the button coded in the html body opened a new window, but only the form button could bring the window forward(via 'object.focus') if it was already open. Using a Mac with Firefox, the form button worked well either to open or to bring forward an existing window, but the the button coded in the html body did nothing. Two 'alert' are place in the window function to show that the html button's call is reaching the window function. My question is that if this call from the html button passes through the same statements as that of the form button, why does it fail? (The script is in Perl, but it can be viewed as html in the source page.)
PHP Code:
#!/usr/bin/perl -w
use CGI qw(:standard);use CGI::Carp qw(fatalsToBrowser);use strict;
my $query = new CGI;
my $JSCRIPT=<<EOF;
There are no problems with the following image loading code fragment and window.status assigments/updates in IE but in Firefox window.status fails to update. Any suggestions?
I'm using jQuery 1.4 to hide a div (#cartPop) when the "close" link inside of it (#cartPop a) is clicked. Since I'm using animate() to fade the div out (opacity), I also have to use hide() to get rid of the div once it has faded out (otherwise the invisible div, which is on a higher z-index, blocks the elements on a lower z-index).
Code:
The problem is that the hide() function calls immediately without waiting for the animate() function to run. Even if I append a delay() function before hide() like so:
The javascript function addRowToTable() is called by a button, and replies a set of elements (select, input, checkbox) of the form. In this function, the creation of select calls another function CliK(sel.id)The problem is that this function tells me error "object required" as if the select Id was not "type" or the checkbox id was not "key" here I go wrong?
function addRowToTable() { var tbl = document.getElementById('tblSample');
On my site I'm using an external (big) javascript file, in this external file there is a function with the following line in it:
function showslide(){ return(currentSlide); }
In my main html file the external javascript file is loaded within the head section. This external file does a lot of other stuff besides returning a number.Somewhere in my html file I need to call the showslide function. I tried doing that with this:
<script language ="Javascript" src="upload/3weg_slider.js"> document.write(showslide()); </script>
But it doesn't return anything, when I place an alert line within the function it doesn't show up either.
I have a small number of functions on an object and for every function I wish to make a different function that calls the original where the this can be passed as a parameter. I am making a library and this is a convenience method for people who don't know about call/apply.
Currently (one of) my function looks like this:
function _find(){ return find.apply(arguments[0],Array.prototype.slice.call(arguments,1)); }
However since my functions are in a object I was wondering if I could make a new array dynamically?
var func = {'find':find}, func_new={}; //this is just an example I don't have this part in my code for(var attr in func) func_new[attr] = Function('return '+attr+'.apply(arguments[0],Array.prototype.slice.call(arguments,1));');
My problem is that some of these myFunction#s include AJAX calls but the calls depend on each other in such a way that myFunction2 will not work unless myFunction1 has completed. So what is the "nicest" way to make sure of this? I've considered putting a hidden element in the HTML and then changing it at the end of each function call and have the onchange event trigger the next function call. But this seems very hacky and overcomplicated - surely there must be a simpler and better way....?
I would like to add dynamic text sizing to a website. There will be three text sizes. When the default is used, only the "Increase text size" button is shown. When the maximum size is used, only the "Decrease text size" button is shown. And otherwise, both buttons are shown.
I've been working on a mockup as follows at the end, but my issue is that once I have manipulated an element of the HTML DOM, if I access it again to check it's value, I will only get the original value in the document. To do the dynamic buttons, I need to maintain some kind of state between function calls, so that I know what the current size is. Can I even do this with Javascript or am I barking up the wrong tree?
I have a search function which works when I only want to have only one search per page, but as it involves a string call I'm not sure how to modify it to multiple search requests on a page.
The below works fine for one call:
<script type="text/javascript"> function showHint(str){ if (str.length==0){
[code]...
The above doesn't work and I am not sure what do about the showHint(str) as clearly I am not representing it properly in my attempt to modify the script.
I am creating a JavaScript object which I want to use to respond to user input on a web page. The object will basically be made up of a constructor and then a selection of functions which will use the DOM to alter the appearance of the page according to the user's input. I am getting stuck because I want a form element that is being created by the object to have an 'onkeyup' event attached to it which will call another function from the same object.
Now, I understand how to attach the 'onkeyup' event to the input element I have created using the DOM. If I tell the event to call a normal function (alert() etc) then it does exactly that. What I am having trouble with is getting the event to call another function from the object that created the input box in the first place. (I don't even know if this is possible / a wise thing to do!). Code:
I am currently trying to make an html link that will add elements (specifically, drop down menus) to the current page when you click it. Since I am adding all the elements to the page using JavaScript, I'm not sure how to set up the link to call a function rather than go to a different page. I've seen people set the href attribute to the function they want, so I tried that and it didn't work. I've also seen a way that involves using onclick and making the link follow the onclick, not go to a different page.
In summary, how do you create/edit a link (from javascript) to make it use a javascript function rather than go to a different page? This is what I have currently (that concerns the link):
var link = document.createElement('a'); eval("link.setAttribute('href', 'javascript:addHours(" + dayDiv + ")');");
I have some javascript the works in conjunction with a flash video player. When a user selects a video in the Flash video list and new video is called and begins to play. Also, when that video is selected a function called "doOnMediaLoad()" is called and inside of that function I have put a call to another function that I wrote in the same script.function that is called when user selects flash player video list.
function doOnMediaLoad(e) { vcomments_changed(e.id); //call to my function }
I have some javascript the works in conjunction with a flash video player. When a user selects a video in the Flash video list and new video is called and begins to play. Also, when that video is selected a function called "doOnMediaLoad()" is called and inside of that function I have put a call to another function that I wrote in the same script.
If I use the return keyword to exit the function/loop after they set up the first image rollover, it works perfectly on the first image. However, if I comment out the keyword, theId, which is the variable that contains the id of each respective image (which is the same id of the containing link with "1" added to the end) becomes "undefined" (as my JavaScript console says), and thus none of the images work as they're supposed to work. Not even the first one.
I am trying to call a dynamically chosen function on success from an ajax call (later to be error and so on also)The following function works fine and passes the url to call and parameters into the makeAjaxPostCall function. successHandler is the function to call on ajax success.[code]
I'm trying to in make in a single function, multiple calls to the same file changing one parameter the problem is thatit is taking it like if I wasn't changing the parameter and is sending only the last value all the times.Here is my code:
$(function(){ $('#btn_search').click(function(){ // what to search for
question: when i quickly move the mouse from one image to the other shouldn't i see one expand and one shrink simultaneously? i am currently seeing one shrink, then the other expand after. on occasion the shrink is skipped and the next image is expanded right away.
I need to have a select menu reset to its default option (the one with a value of "0") when a user types in a text field. Check out the code...the html:
I have below code to create two ajax requests. When ajax requests fetched, they alert the related request number.
Code JavaScript: function ajaxIt(url,num){ var req = new XMLHttpRequest();[code]....
why removing var phrase overwrites requestNum value for two different asynchronous functions? How can I make sure variables are not overwritten by different function calls?
Is there any way with Firebug, or any other tool, to easily find which functions are being called by which page on load?I need to optimize a huge pile of JavaScript files for a large website.
My problem lies in that I have multiple of these forms on a single page, each one named autoSubmit. I easily rename each with PHP to autoSubmitXXX or YYY depending on their record id numbers, but then the .autoSubmit(); function doesn't know which form to work with.
Code: '#autoSubmit INPUT'
I can grab the individual form ID (XXX or YYY) with:
I'm currently rewriting all my ajax calls to use the jquery method (much cleaner code! ) and have declared a default ajaxError function, shown below:
$(document).ajaxError(function(event, request, settings){ alert("There was an error while communicating with the server. URL: " + settings.url); });
However, now I have a few ajax calls where I want to declare an error function in the ajax call. I was hoping that by declaring an error function in the ajax call, it would replace the default error call I have defined. But that does not appear to be the case, as I continue to first get my ajax function error call, then I also see the above code execute.
I tried calling event.stopImmediatePropagation() from within my ajax error function hoping that it would stop further events firing (ie: the default error event) but that didn't do anything except tell me in firefox that "event" was undefined.
I was hoping I wouldn't have to go through and define an error function to EVERY ajax call.