0

我正在尝试验证我的字母和数字值以及从数据库中检查。我创建了一个验证功能,并用验证功能声明了我的 onclick 按钮。

功能:

<script>
function validate()
{
var StudentID= document.getElementById('StudentID').value;
var StudentName = document.getElementById('StudentName').value;
    var StudentAdd = document.getElementById('StudentAdd').value;

    if(StudentID.length ==0 || StudentName.length ==0)
{
    alert("Please do not leave any blanks");
    return false;
}
else
{
            if(isNumeric(StudentID))
            { alert("correct") }
            else { alert("Numbers only!"); return false;}

    alert("Correct correct");   
}
    return true;
}
</script>

样品表格:

<form id="Student" name="Student" method="post" action="nextpage.php">
<input name="StudentID" type="text" id="StudentID" value="<?php echo $StudentID?>"/>
<input name="StudentName" type="text" id="StudentName" value="<?php echo $StudentName?>"/>
<input name="StudentAdd" type="text" id="StudentAdd" value="<?php echo $StudentAdd?>"/>
<input type="submit" name="submit" value="Submit" onclick="return validate();"/>
</form>

我已经声明了返回验证函数,而不是调用我的 nextpage.php。但是没有任何警报弹出。好心提醒。谢谢

4

3 回答 3

1

尝试在 body 标记之后包含您的脚本,以确保它仅在加载后引用元素。然后放入return trueelse 语句中。

function validate()
{
var StudentID= document.getElementById('StudentID').value;
var StudentName = document.getElementById('StudentName').value;
    var StudentAdd = document.getElementById('StudentAdd').value;

    if(StudentID.length ==0 || StudentName.length ==0)
{
    alert("Please do not leave any blanks");
    return false;
}
else
{
            if(isNumeric(StudentID))
            { alert("correct") }
            else { alert("Numbers only!"); return false;}

    alert("Correct correct");   
   return true;
}

}
于 2012-07-18T13:53:07.430 回答
0

JavaScript 中没有 isNumeric() 函数(我明白了Uncaught ReferenceError: isNumeric is not defined)。您必须自己创建它:Validate decimal numbers in JavaScript - IsNumeric()

于 2012-07-18T13:47:50.757 回答
0

而不是提交按钮的 onclick,将功能移动到表单的 onsubmit,例如:

<form onsubmit="validate()" ...>

对于返回 true 的“if”语句部分,您可能会遇到 alerts() 的一些问题,因为浏览器将尝试提交表单,但总的来说它应该可以工作。

于 2012-07-18T13:43:15.657 回答