NOT IN / IN Operator
Aug 6, 2007Just wonder whether jaavscript can perform the NOT IN / IN as below:
if form.mytext.value NOT IN ("MYTEXT") {
alert("Mytext");
}
I did try, but not alert is displayed ad not error shown as well.
Just wonder whether jaavscript can perform the NOT IN / IN as below:
if form.mytext.value NOT IN ("MYTEXT") {
alert("Mytext");
}
I did try, but not alert is displayed ad not error shown as well.
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") ?
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?
<script>
var sd=function(){
return{
f1:function(){
alert('f1');
},
f2:function(){
alert('f2');
}
}
}();
sd.f2();
</script>
when execute sd.f2();it will alert f1,who can tell me why?
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
I'd like to know which is faster or have a better performance between :
Code JavaScript:
if (flag) {
var v = "something";
} else {
var v = "else";
[Code]...
this.delete = function(obj){
..
Is that it ? I can't have delete ? Or can this be written in some other way, including delete ?
I want to combine two click events to one function.Is there a syntax way like when you click this or you click that do something [code]
View 1 Replies View RelatedI 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) {
cdate = date;
ctime = time;
cdepart = depart;
carrive = arrive;
cname = name;
}
if(trim(cdepart.value) == 'Uptown' && trim(carrive.value) == 'Downtown'){
alert('invalid journey');
cdepart.focus();
return false;
}function trim(str){
return str.replace(/^s+|s+$/g,'');
}
However when I select the values the alert is not shown? I think My syntax is okay, maybe not?
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 ||.
if(trim(cjob.value) && trim(czip.value) == '')
{
alert('Hello');
}
If number is more than 24 digits, modulus operator is not giving correct output [code]...
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);
}
catch (e){
alert(e); //alerts null
} it's null.
fyi: http://helephant.com/2008/12/javascript-null-or-default-operator/
I have a set of regular expressions that make heavy use of the | operator on sections that I do not really need to extract a match from. For example:
Code:
var regexp = /([A-Z][A-Za-z]+) (jumps( high)?|leaps|bounds) over ([A-Z][A-Za-z]+) and (grabs|snags|gets) (a|an|the) (apple|orange|pear|grapes)/
The important part for extracting from the match array after using regexp.exec() are the names (the ([A-Z][A-Za-z]+) parts), I don't care which of the other things are matched. The problem is that using the | operator seems to necessitate using the () and adding a term to the match. This makes it difficult to know which term in the array will be the names, especially after editing the middle.So I'd like to be able to use the | operator on words and phrases without adding terms to the match array.