Javascript 将字段设置为必填字段后仍可以提交表单

Javascript 将字段设置为必填字段后仍可以提交表单,javascript,forms,Javascript,Forms,功能 假设用户是输入字段并单击“提交”按钮。所有字段都是必填字段。因此,如果用户不输入任何字段,则无法导航到下一页 问题: 我已经将每个字段设置为“必需”,但是,我仍然能够导航到下一页。这怎么可能,而我却找不到我到底做错了什么 代码: 名称: 电子邮件: 函数第5页(){ $(“#第4页”).hide(); $(“第5页”).show(); } IE9或更早版本以及Safari都不支持required属性。因此,我建议您为这些浏览器创建自己的验证。否则,您的Page5()方法有问题。可能您正在

功能 假设用户是输入字段并单击“提交”按钮。所有字段都是必填字段。因此,如果用户不输入任何字段,则无法导航到下一页

问题:

我已经将每个字段设置为“必需”,但是,我仍然能够导航到下一页。这怎么可能,而我却找不到我到底做错了什么

代码:


名称:

电子邮件:

函数第5页(){ $(“#第4页”).hide(); $(“第5页”).show(); }
IE9或更早版本以及Safari都不支持
required
属性。因此,我建议您为这些浏览器创建自己的验证。否则,您的
Page5()
方法有问题。可能您正在使用它提交请求,因此它跳过了所需的属性验证


更多信息,请参见IE9或更早版本以及Safari中不支持
required
属性。因此,我建议您为这些浏览器创建自己的验证。否则,您的
Page5()
方法有问题。可能您正在使用它提交请求,因此它跳过了所需的属性验证


更多信息请阅读

问题在于浏览器仅在表单提交时验证表单。因为您实际上并没有提交表单,而是使用javascript,所以浏览器不会显示任何错误消息

一个可能的解决方案如下:

function Page5() {
    var $myForm = $('#myForm');
    // Check to see if the form is valid
    if ($myForm[0].checkValidity()) {
        // If the form is valid, go to the next page.
        $("#page4").hide();
        $("#page5").show();
    } else {
        // If the form is invalid, submit it. The form won't actually submit;
        // this will just cause the browser to display the native HTML5 error messages.
        $myForm.find('input[type=image]').click()
    }
}
。请注意,您需要添加
id=“myForm”
或类似于表单的内容


最后要记住的一点是永远不要依赖javascript或浏览器验证,因为这很容易伪造。它只能用于方便用户使用,并且您应该始终在服务器上仔细检查提交情况。

问题在于浏览器仅在提交表单时验证表单。因为您实际上并没有提交表单,而是使用javascript,所以浏览器不会显示任何错误消息

一个可能的解决方案如下:

function Page5() {
    var $myForm = $('#myForm');
    // Check to see if the form is valid
    if ($myForm[0].checkValidity()) {
        // If the form is valid, go to the next page.
        $("#page4").hide();
        $("#page5").show();
    } else {
        // If the form is invalid, submit it. The form won't actually submit;
        // this will just cause the browser to display the native HTML5 error messages.
        $myForm.find('input[type=image]').click()
    }
}
。请注意,您需要添加
id=“myForm”
或类似于表单的内容


最后要记住的一点是永远不要依赖javascript或浏览器验证,因为这很容易伪造。它只应用于方便用户使用,并且您应该始终在服务器上仔细检查提交内容。

这是做什么的
onClick=“Page5()”
。正如您所看到的,您发布的代码工作得非常完美:您是否使用支持它的浏览器?如果您没有忘记
@joshhunt,我已经更新了代码。我包含了一个脚本,它只是隐藏当前页面并显示下一页。这是否解释了为什么它超越了required的函数?这个
onClick=“Page5()”
有什么作用?您很可能正在使用javascript做一些事情。正如您所看到的,您发布的代码工作得非常完美:您是否使用支持它的浏览器?如果您没有忘记
@joshhunt,我已经更新了代码。我包含了一个脚本,它只是隐藏当前页面并显示下一页。这是否解释了为什么它超越了必需的功能?这将如何改变它?图像只是一个图形化的提交按钮:真的吗?首先你提供了一个低质量的答案,然后你用其他人的想法编辑了它,没有任何归属?这会如何改变它?图像只是一个图形化的提交按钮:真的吗?首先你提供了一个低质量的答案,然后你用别人的想法编辑它,而没有任何归属?