【发布时间】:2020-12-25 15:18:23
【问题描述】:
我有一个简单的表格:
<?php $final_auto="required" ?>
<form name="Form" action="mydomain.com/form.php?action=send" method="post">
<textarea name="final_thoughts" <?echo $final_auto; ?>><?php echo $final_thoughts; ?></textarea>
<input type="submit" name="submit" value="Send Message" />
</form>
如您所见,如果 textarea 为空,它将引发错误。但是这是在客户端完成的,现在提交表单时,我需要在服务器端仔细检查:
if (isset($HTTP_POST_VARS['final_thoughts']) && (!empty($HTTP_POST_VARS['final_thoughts']))) {
$final_thoughts = tep_db_prepare_input(isset($HTTP_POST_VARS['final_thoughts']));
}else{
$final_auto = "autofocus required aria-invalid=\"true\"";
}
所以我们检查是否存在已发布的表单数据 $HTTP_POST_VARS['final_thoughts'] 的值。 如果有值,我们将其存储在变量 $final_thoughts 中。
现在这是我需要帮助的地方。 如果没有值,那么我们将在 $final_auto 中存储自动对焦字段的属性(因此当表单重新加载时,它将自动转到该字段),再次保持它是必需的。
所有这些都有效,我想不通的是当表单重新加载时,它会自动聚焦到该字段,我希望它抛出默认的错误消息工具提示!图标图像。
根据我的阅读,您可以添加 aria-invalid="true" 属性。但是,除了弹出错误消息工具提示之外,一切正常。
现在表单只是一个简单的演示表单,但是我的表单有比这个更多的字段。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript html forms dom