This is my code which was supposed to raise an alert
message if the textbox is left empty:
function a(id)
{
var n=document.getElementById(id).value;
if (n.length < 1)
{
window.alert("Field is blank");
return false;
}
}
The bug I'm getting is that the field is not getting verified onChange
the first time. But when the text box is filled with some data and erased, now the OnChange
fires, and the alert
message is displayed. How can I fix this bug?
onchange
will work only if the value of the textbox changed compared to the value it had before, so for the first time it won't work because the state didn't change.
So it is better to use onblur
event or on submitting the form.
function checkTextField(field) { document.getElementById("error").innerText = (field.value === "") ? "Field is empty." : "Field is filled."; }
<input type="text" onblur="checkTextField(this);" /> <p id="error"></p>
your validation should be occur before your event suppose you are going to submit your form.
anyway if you want this on onchange, so here is code.
function valid(id)
{
var textVal=document.getElementById(id).value;
if (!textVal.match(/\S/))
{
alert("Field is blank");
return false;
}
else
{
return true;
}
}
function valid(id)
{
var textVal=document.getElementById(id).value;
if (!textVal.match("Tryit")
{
alert("Field says Tryit");
return false;
}
else
{
return true;
}
}
Use this for expressing things
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.