这似乎是一个简单的问题,但我一直坚持下去。希望任何人都可以帮助我
我正在使用PHP进行服务器端表单验证。就验证而言,一切都按预期进行。但是,如果输入中显示错误或提交表单,浏览器将导航到页面顶部。我如何防止这种行为?单击提交按钮后,我需要它所在的页面
Quill.register({
'formats/emoji': Emoji.EmojiBlot,
'modules/short_name_emoji': Emoji.ShortNameEmoji,
'modules/toolbar_emoji': Emoji.ToolbarEmoji,
'modules/textarea_emoji': Emoji.TextAreaEmoji}, true);
答案 0 :(得分:2)
如果我理解您的问题,那么您只是从HTML和PHP中问了很多。请记住,提交表单后,浏览器会离开当前页面并加载表单操作页面(在您的情况下,它会根据指令action="<?php $_SERVER['PHP_SELF']; ?>"
重新加载当前页面。
因此,如果没有表单提交正在进行,您将如何将页面精确定位在所需位置?在这种情况下,您将采用这种方式。因此,如注释中所建议,您可以修改操作指令:action="<?php $_SERVER['PHP_SELF']; ?>#id_of_form_container"
。例如,如果您的表单是这样的div结构:
<div id="contact_form_div">
<form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
那么您的操作代码应为:
action="<?php $_SERVER['PHP_SELF']; ?>#contact_form_div"
或者,您可以在表单提交过程中在javascript方面进行一些基本的表单有效性测试。例如,如果必填字段为空白,则可以return false;
-这将停止提交过程并将控制权返回给用户。
Here is an example的基本javascript字段验证的外观。并且here is an example使用javascript / jQuery中断表单提交过程以执行该验证,并在验证失败时(通过return false;
)将控制权返回给用户。
参考文献:
MDN article on form validation - note the SmashingMagazine links at bottom