I want to check if an input tag named "field2" exists when the user is filling out input name "field1". I do that by executing a JavaScript function using the onchange
event on field1's input
tag. (I'm testing using alert boxes.) If field2 does not exist, JavaScript clicks a button and the form is updated to have both field1 and field2. But the alert box pops up even when field2 exists no matter which of the 3 methods I use. I tried all sorts of combinations using if
with null
and 'undefined'
, etc.
Why do the alert boxes pop up if field2 exists ?
function foobar(){
if(!document.getElementsByName("field2"){
alert("foobar");
}
if(!document.forms[0].field2){
alert("foobar");
}
if(!document.forms[0].elements.namedItem("field2"){
alert("foobar");
}
}
Answer: Use the jQuery val() Method You can use the val() method to test or check if inputs are empty in jQuery.
Answer: Use the jQuery . length Property You can use the jQuery . length property to determine whether an element exists or not in case if you want to fire some event only if a particular element exists in DOM. Here's an example that displays an alert on button click if the specified element exists.
You are missing a bracket: if(!document.getElementsByName("field2"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With