I have been starting to use Javascript a lot lately and I wanted to check
with the "group" to get your thoughts on code efficiency. First, is there a
good site/book that talks about good and bad ways to code.
The reason I ask is because I was just thinking about the following...which
is better and/or why?
document.forms["myform"].elements["txtname"].value
or
document.myform.txtname.value
This is a FAQ page I built with custom jquery function that toggles the answers open/closed on click of a question, and Im just wondering if anyone has a suggestion to make the code leaner and meaner:
Since jQuery parses the entire dom first, is there any efficiency gain in directing it via the entire CSS chain rather than directly to an ID? That is, if I have a Div with an ID of "foo" and it contains a P with an ID of "bar", is there any speed advantage in using $(div#foo p#bar) as opposed to just using $(p#bar), assuming jQuery would be more efficient if it had both indexes?
I have two grids, they both display buttons. One grid displays numbers, true or false and yes or no, and the other grid displays letters, true, false, yes and no.
The second grid is not displayed in the code (used css to not display second grid buttons (.answerBtns)) Now using the getButtons() function, if the user selects button "1" in first grid (the grid which you have to open using (Open Grid) link, then it should display button "A" in second grid, if user selects button "2" in first grid, then it should displays buttons "A" and "B" in second grid, if "3" then display "A", "B" and "C" and so on.
Now except using if statements and stating which buttons should be displayed and not displayed depending on the button chosen in first grid, is there a more efficent way of coding this so that the display of buttons in second grid depends on what is selected in the first grid?
If it is using an array can somebody show a sample of this in their answer. You can just do it for one example and then I should be able to use that to fill it for the other buttons.
I am very exciting about jQuery but a am not programmer and the way I write functions is probably not most efficient. For example I have 12 collapsible panel that I need to control. Is there better way of writing this?
I have some tables with rows greater than 100 and this brings client-side sorters to their knees... Any recommendations on a good, front-end table sorter?
I am populating a number of Select boxes on the server-side with a large number of options. I'd like to get the response size down without taxing the client browser too much. What do you think is the most efficient way to approach this problem?
Here are some considerations: The option text/values do not change very often, but could potentially change in the future. The page that holds the select boxes should never be cached, there are other aspects of the page that need to remain fresh. Firebug with YSlow is saying that the primed cache size of the page is 300Kb with all the select dropdowns and options, if I remove the options, the primed cache size of the page is 80Kb. I am considering breaking out the text/value pairs for the select boxes into a separate file that is cache-able calling it "valueTextPairs.js" and referencing it with a query string and some sort of server-generated MD5 hash of the data, so that if any of the values change, the client's cached version will be replaced by the latest version. Like so:[URL]...
Provided I do this, I anticipate that the primed cache size of the page will be reduced down to 80Kb (which I like) -- however, before I take the plunge, I am curious what you all think the performance effect will be?
I know the number of bytes on the wire will be reduced, but will this put a lot of additional pressure on the client's browser because I'd need to traverse the name/value pairs and add the options to the select boxes dynamically on the client end? If it seems reasonable to do this, what jQuery approach would be the most efficient? $('#selectId').html(options) with options = one big string? Adding each child option to the select in a loop? Something else?
Some client end folks are using IE6 so I am trying to tax the browser as little as possible, while also reducing the size of each request, trying to find a happy medium..
and in this code, it works, the call is made and text is added. in the other code I don't get a change at all. Not even in the database that add.php manipulates.
I am trying to make a gui for clients to edit a php page that displays html and javascript.
I want the user to be able to move html elements around and even edit it like add effects like fade in and out etc.
Then after all the changes I want to overwrite the existing php file that does this for that user. how can you make such changes and then save it to a file?
It's an html / javascript editor but using a gui instead of allowing them to directly touch the code. It would be a security risk if I allow such a thing. So I need to program a interface that would make such changes and save them to file.
Like how can you delete and add new javascript code to the file?
I am a novice, almost to an intermediate-level JavaScript guy, so much of this is new to me. I appreciate your patience reading this.
I have a routine that creates some HTML on the fly (updateFilters() function) and after the HTML is created, I attempt to access some fields (elements) on the form itself.
I works fine if I place an alert() statement after the HTML is created, but when I remove, the code errors out.
I have tried the setTimeout() statement, but I cannot grab the element --- undefined or null is returned. It seems that the form is the only element I can get a handle on --- everything else is undefined or null...
Here is the code:
function editQuery() { var f; var x; var myForm = document.forms[0]; // Get the row filters that were used in the last query.. for (f = 1; f < 16; f++) { var filter = eval("myForm.FilterList_" + f); if (filter.selectedIndex > 0) { var methodElement = element("FilterMethod_" + f); var methodIndex = methodElement.selectedIndex; var savedFilterMethodValue = methodElement.options[methodIndex].text; var choicesElement = element("FilterChoices_" + f); var choicesIndex = choicesElement.selectedIndex; if (isNaN(choicesIndex)) { var savedFitlerValues = choicesElement.value; } else { var savedFitlerValues = choicesElement.options[choicesIndex].text; } updateFilters(filter); // update the filters // take the saved methods and values and then update the selections // Alert here makes the code work.. // alert("Try this"); // Wait for HTML.. setTimeout("completeEdit()", 1000); function completeEdit() { // Since the object was updated, get the object again.. var methodElement = element("FilterMethod_" + f); for (x = 0; x < methodElement.options.length; x++) { if (methodElement.options[x].text == savedFilterMethodValue) { methodElement.options[x].selected = true; break; } else { methodElement.options[x].selected = false; } } // Since the object was updated, get the object again.. var choicesElement = element("FilterChoices_" + f); for (x = 0; x < choicesElement.options.length; x++) { if (choicesElement.options[x].text == savedFitlerValues) { choicesElement.options[x].selected = true; break; } else { choicesElement.options[x].selected = false; } } // Only display next row if f = 2.. // If only one row was used, no reason display the next row.. if (f == 2) { displayNextFilter(f - 1); // display it } } clearTimeout(timeOut); } } }
Do I have to pass the object (the form, the elements) to the completeEdit() function in the setTimeout() statement?
This works fine when I place this code under the html in the main source, but if I try to add this Jquery code to an external js sheet it doesnt seem to work?
Currently my js sheet is called in the header, when I move this link to the footer of my page the code works again, so Im guessing this has something to do with where the jquery code is placed in relation to the code Im trying to hide?
How I can keep my js in the header but still make the content disappear on click?
I am VERY NEW to javascript programming as I am to web development. I am pretty decent with VB.Net though. My question is, what are the different ways to call a JavaScript Function either from within XHTML Markup code or from a VB.Net Code-Behind file?
After realizing that htc files only work with Internet Explorer, I have needed to have JavaScript code to suit the two lots of css code below. Please help, I need the code pretty urgently. The code must work with most versions of browsers.
I hope whether such a script exists for what am wanting to do. From time to time, I need to send password information or login details and password information to some users. At the moment, am doing it via email with a subject named FYI and the body of the email basically just contain the login and the password or in some case, just the password. What am wanting to know is whether I can put these information into a HTML file which contains an obfuscated Javascript with a button that a user will click that will prompt for his login information and then will display the password. In its simplest form, I guess I am looking for a Javascript that will obfuscate a HTML file that contains the password. I found some website that offers such service as obfuscating a HTML file but am hoping it can be done via a Javascript so it is at least "portable" and I do not have to be online.
I am about to port an app using html, css, and javascript where most of the content is mixed with the presentation and behaviour.
The question I have been asked is: even though this older style is difficult to maintain, will the method proposed my the authors of Simply Javascript perform adequately on a page with hundreds of entries like the one below? Using the newer method, the program would have to iterate through all the elements on the page and assign handlers for click, mouseover, etc. Please advise. Code:
1. When I have the "<textarea>" code lines in it put a text-area on the page, but it puts all of the code following that first text-area line into the text-area box and doesn't execute that segment of code.
2. When there is no "<textarea>" (for the sake of seeing if the rest of it worked) it doesn't check the survey.
I'm stumped and can't figure out what to do at this point Code and pictures follow:
PayPal automatically generates code for each article sold, which takes the client directly to the PayPal order page. Does anyone know if it is possible to add some code to the PayPal button code that when clicked will first open a popup window asking the client to (1) read the terms and conditions of sale and a button in the popup to choose 'I agree' or 'I disagree'. If the client clicks 'I agree', it will take them to the PayPal order confirmation page.