我是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条件中使用它。
答案 0 :(得分:0)
可能你在你使用的范围之外定义你的y变量,所以当你尝试比较时,y被评估为未定义。
制作你的
Dim idx As Integer
Dim start As Integer
Do
idx = RichTextBox1.Find("is", start) '// First time through start at beginning
If idx = -1 Then Exit Do
RichTextBox1.SelStart = idx
RichTextBox1.SelLength = 2
RichTextBox1.SelColor = vbRed
start = idx + 1 '// Set the start for .Find to the next character
Loop
RichTextBox1.SelLength = 0 ' Clear the selection
正好在
之下var y = inojb.value
行,它应该工作
答案 1 :(得分:0)
不,你不能在else之前做到这一点。在else之前你唯一要做的就是前一个if 的右括号。
答案 2 :(得分:0)
您在哪里初始化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>
答案 3 :(得分:0)
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";
}
}
&#13;
答案 4 :(得分:0)
我认为您的问题是因为您尝试在if
块和else
块之间声明变量。只需在if
块之外声明您的变量。