I have a for loop and would like to increment a variable for (let's say) 2 instead of one (++). How can I do that?
I have tried for instance x + 2 instead of x++ but when I try it in IE an error saying that a script is making IE to run slowly and then nothing happens. So how to do this?
I don't actually have a mac with which to test this, but I'm informed by a colleague that one of my scripts has failed in IE on the Mac; endless twiddling seems to point to the ternary operator as culprit.
I asked him to check that javascript:alert(true?"Yes":"No"); gave an alert when pasted into the address bar and he's reported that it does not. javascript:alert("someString"); works quite happily.
Can anyone confirm this bug or help narrow it to a single version? It seems a fairly large bug to have gone so under-reported, gooooogling for "mac ie ternary operator" doesn't return anything helpful.
Is there any way to call the new operator as a method (function)? The reason is that I've got IE as a COM object (Imagine I've brought up IE using VB) and it's easy to call every method of any DOM element (including window). But if I want to create a new object, then it's more complicated. Of course I could always execute js code (using window.execScript) which will create the object and save it as a variable on the window object and then pick it up from the COM creator, but really...
Consider the following page snippet which nicely adds an option to the empty select element. Of course, I could use the W3C createElement, addChild, muckWithDOM approach to avoid the execScript, but both of these are going to add huge amounts of time and substantial complexity to an otherwise one liner:
<form method=pos action=''> <select name=sel id=sel></select> <script type='text/javascript'> var sel=document.getElementById('sel'); sel.options[0] = new window.Option("foo", "bar"); </script> </form>
Can't I do something like window.Option.newInstance("foo", "bar") in place of the new window.Option("foo", "bar") ?
We all know that feature detection technique works from very beggining of user-agents supporting JavaScript. We can alway check if eg. document has a write property or smth else:
if(document.write) { }
We could do that for all of objects, so i have been surprised when i found 'in' operator, which for above example would be used like this:
if("write" in document) { }
So i have questioned myself what for ? I can always do:
if(document["write"]) { }
or even var prop = [...]; if(document[prop]) { }
which is supported better then 'in' operator ('in' is supported since W. IE 5.5 and NN 6 - around 2000 year). I can only guess that 'in' was provided in W. IE 5.5 only for convenience... but that is my guess and someone more knowlegable could write here some more opinions on this operator...
How you might achieve the following without using eval()? I've come up a bit short: function addOrSubtract(operator) { var a = 10; var b = 5; var answer = eval(a + operator + b); alert(answer); } addOrSubtract('+') // alerts 15 addOrSubtract('-') // alerts 5
For a real estate website, I want to create a script which will tell visitors how many days a property has been on the market. For example say the property was posted on the site on 1/1/2009. I want the site to say "This property has been on the market for 394 days." .
I am trying to run some code that will check if the user enters two values from 'depart' and 'arrival' select lists that would make up an invalid journey: var cdate, ctime, cdepart, carrive, cname; with(window.document.example) {
It's well know that the ternary operator syntax is something like so: Code: (test) ? true doThis : false doThat Suppose that in case condition is false we want do nothing. How to code "do nothing"? May I let it blank or there are an appropriate syntax?
What kind of logical error am I making? I want the alert(); to execute if both of the variables (cjob and czip) are blank, but the only way I can get it to work is if I replace && with ||.
I have a loop that is running and I am trying to increment a number by one each time. Here is what I am doing, but each time it just writes out 1 for the value.
var i=1; Start of Loop document.write(i); var i=i++; End of loop
I need to develop this feature for a charity site displays a number that counts up 1 every 15 seconds. This is to show how many times a kid is abused in this country.
I figured this piece of code was a good start:
function doSomething() { setTimeout('doSomething()',15000); }
What I need is 2 form fields, an up link, and a down link. I want the user to be able to select one of the form fields, then increment, or decrease the number in the field that has been selected by clicking one of the links. How might I do this?
anotherVar should be -1 if there are no matches, but it doesn't seem to work var string = "abadafa"; var matches = string.match(/a/gi); //doesn't work with /z/ for example
var anotherVar = matches.length || -1; The default operator should return the second value if the first is null or false, and according to try { alert(matches.length);
I have written the follow code. It is meant to (when finished) output a table showing each member of the array PEOPLE. There Income ,there Tax bracket and there finally there total tax paid.The calulations in the if-else statements are correct.I have to create a loop that will go through the if else statements equal to the amount of the people in the array (This is no problem I have done this earlier)
My problem is when I try to add each element (PEOPLE) to the table or there indivual tax outcomes.Can I create a loop and increment in the elements each iteration to put on the table?(for there names) As I am not meant to store each iteration,it is to write to the table each time.This is the code I'm working on with out the loop.
I'm trying to write some jquery that when a link is clicked it adds a number into a div. Every time the link is clicked it adds another number(previous number + 1). i have this but it definitely doesn't work function addnumber(X)[code]As it is now, the first click does nothing. The second click spits out "2<br>2<br>". The third click spits out "2<br>2<br>2<br>". The fourth "2<br>2<br>2<br>2<br>" and so on.
The following is my javascript code to extend a form:
[Code]...
Everything works fine except for the counter/adding on to theName ( newField[i].name = theName + counter). I know exactly what the problem is... I just don't know how to fix it. If I remove the li tags, the counter will work fine and increment each "name". As soon as I put the li (see code above) tags back (or any html tag - I have tested others as well) - it breaks again and won't increment the name - it just submits the names without numbers and alas I have no usable post data. how to keep the html formatting there and still get the counter to increment the name?