![](/img/trans.png)
[英]How do you make a button go to a specific page after validating the Username and Password from the Database in PHP
[英]How do you throw form error on page load after returning from php validation?
我有一個簡單的表格:
<?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" 屬性。 但是,除了彈出錯誤消息工具提示外,一切正常。
現在表單只是一個簡單的演示表單,但是我的表單有更多的字段。
任何和所有的幫助都將不勝感激。
在搜索了不同的關鍵字並深入研究了幾種解釋之后,我最終將 2 和 2 放在一起。
解決方案是將 onfocus 和 reportValidity 一起使用。
$final_auto = "autofocus required onfocus=\"this.reportValidity()\"";
這會將您帶到表單上的字段並將焦點放在該字段上,然后觸發 onfocus 事件,該事件被設置為觸發錯誤,就好像您在沒有提交的情況下點擊提交按鈕一樣,它所做的只是檢查該字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.