[英]javascript validation to check if input is empty,by getting the element id
我是javascript新手,並嘗試了一些代碼..在javascript中進行驗證,我嘗試了以下代碼,並且可以正常工作
<input id="idd" type="number" min="400" max="500">
<button onclick="myFunction()">OK</button>
<script>
function myFunction() {
var inobj = document.getElementById("idd");
//to check if input is between 400 to 500
if (inobj.checkValidity() == false)
{
document.getElementById("demo").innerHTML = inobj.validationMessage;
}
// to check if input is empty
else if(inobj.value ==""||inobj.value==NULL)
{
document.getElementById("demo").innerHTML ="enter input";
}
else
{
document.getElementById("demo").innerHTML = "Input OK";
}
}
</script>
當我嘗試使用以下代碼檢查輸入是否為空時,它不起作用。為什么會發生這種情況?
// to check if input is empty
var y = inobj.value;
else if( y == ""||y == NULL)
{
document.getElementById("demo").innerHTML ="enter input";
}
我們不能將inobj.value分配給y,然后在else if條件中使用它。
可能是您在使用變量的范圍之外定義了y變量,因此當您嘗試對其進行比較時,y會被評估為未定義。
做你的
var y = inojb.value
就在
var inobj = document.getElementById("idd");
線,它應該工作
不,如果不能的話,您不能馬上就做。 您在else if之前唯一需要做的就是前一個if的右括號 。
您要在哪里初始化var y
? 您是否正在if(){}
子句中執行此操作,然后嘗試在else if(){}
子句中使用它? 如果是這樣,則必須在子句之前對其進行初始化,否則在檢查該值時將永遠不會對其進行初始化。
<input id="idd" type="number" min="400" max="500">
<button onclick="myFunction()">OK</button>
<script>
function myFunction() {
var inobj = document.getElementById("idd");
var y = inobj.value;
//to check if input is between 400 to 500
if (inobj.checkValidity() == false)
{
document.getElementById("demo").innerHTML = inobj.validationMessage;
}
// to check if input is empty
else if(y == ""||y == NULL)
{
document.getElementById("demo").innerHTML ="enter input";
}
else
{
document.getElementById("demo").innerHTML = "Input OK";
}
}
</script>
function myFunction() { var inobj = document.getElementById("idd"); var y = inojb.value //to check if input is between 400 to 500 if (inobj.checkValidity() == false) { document.getElementById("demo").innerHTML = inobj.validationMessage; } // to check if input is empty else if(y == "" | y == null) { document.getElementById("demo").innerHTML ="enter input"; } else { document.getElementById("demo").innerHTML = "Input OK"; } }
我認為您的問題是因為您嘗試在if
塊和else
塊之間聲明一個變量。 只需在if
塊外聲明變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.