Javascript 为什么这个JS确认窗口没有在表单提交时启动?

Javascript 为什么这个JS确认窗口没有在表单提交时启动?,javascript,forms,submit,confirm,Javascript,Forms,Submit,Confirm,HTML: <form name="registerAppointment" method="post" action="formValidations/deleteValidate.php" onSubmit="return verifyForm()"> <input type="hidden" name="userEmail" value="<?=$_SESSION['Mail']?>" /> <input type="text" r

HTML:

<form name="registerAppointment" method="post" action="formValidations/deleteValidate.php" onSubmit="return verifyForm()">
    <input type="hidden" name="userEmail" value="<?=$_SESSION['Mail']?>" />
    <input type="text" required name="studentId" size="20"/>
    <div class="pageFormResetSubmit">
        <input type="reset" value="Reset" />
        <input type="submit" value="Submit" />
    </div>
</form>
    function verifyForm() {
    if (document.addStudentForm.elements["studentId"].value.length == 9) {
        if (isNaN(document.addStudentForm.elements["studentId"].value)) {
            alert("Please enter only numbers for ID - no dashes or letters.");
            return false;
        }else{
            if( window.confirm("Are you sure you want to delete this student? This action CANNOT BE UNDONE.") ){
                studentIdField.setAttribute("value", document.addStudentForm.elements["studentId"].value);
                userForm.appendChild(studentIdField);
                document.body.appendChild(userForm);
                userForm.submit();
            }
        }
    } 
    else{
        alert("The ID must be 9 characters.");
        return false;
    }
};

当点击
submit
按钮时,我希望出现一个确认对话框,允许他们确认或取消。无论出于何种原因,确认没有在上述代码中触发,表单处理时就好像它不在那里一样。

您使用了错误的表单名称:


document.addStudentForm
应该是
document.registerappoint

您收到警报了吗?你收到了哪个警报?只是猜测一下,
isNaN(document.addStudentForm.elements[“studentId”].value)
应该是
(document.addStudentForm.elements[“studentId”].value!=未定义)
@RobM。他们试图检查某个东西是否是数字,因此,
isNaN
sorta实现了他们想要的。例如,
isNaN(未定义)==true
isNaN(“123”)==false
。该函数的使用不是很好(请参阅它被破坏的原因),但我不认为这是一个错误…我知道,
isNaN
是一个糟糕的函数,我的意思是考虑到NaN是一个常数,你会认为“is NaN”只会是
==NaN
。无论如何,谢谢你指出这一点。@RobM。我没有收到任何警告,表单正在提交,就好像它不在那里一样。基本上,第一个
if()
检查长度是否足够。然后,它检查以确保我们使用的是一个数字(如果不是,脚本将返回
false
)。否则,这是一个9个字符长的数字,我想确认他们想要删除。如果他们单击“是”,则提交表单。否则,像上面的
返回false
行一样取消它。有人吗?我想这是一个简单的解决办法,我只是瞥了一眼…你太棒了。不知道我怎么没注意到。我猜是漫长的编码日。:)谢谢