【问题标题】:Focusing On Empty Required Fields专注于空的必填字段
【发布时间】:2023-03-16 12:30:02
【问题描述】:

晕,我这里有问题

这是我的验证脚本

foreach ($product_options as $product_option) {
    if ($product_option['required'] && empty($option[$product_option['product_option_id']])) {

        $json['error']['product']['option'][$product_option['product_option_id']] 
            = sprintf($this->language->get('error_required'), $product_option['name']);
    }
}

它是我的 Div Id

<div id="option-<?php echo $option['product_option_id']; ?>" class="option">

目前,该脚本只显示“字段名是必需的!” 我希望它专注于空的必填字段并显示“字段名是必需的!”文字,谢谢

【问题讨论】:

  • 在客户端验证中这样做会更容易。如果您想在服务器中执行此操作,则必须发回设置焦点的 Javascript。
  • 你能给我举个例子吗?
  • 我建议你使用像jquery-validate.js这样的库。
  • 我无法更改验证,因为它来自 opencart
  • 您要关注的输入字段在哪里?你的问题只有一个 DIV。

标签: php jquery html field onfocus


【解决方案1】:

当您检测到错误时,输出将焦点设置在无效字段上的 Javascript。

foreach ($product_options as $product_option) {
    if ($product_option['required'] && empty($option[$product_option['product_option_id']])) {

        $json['error']['product']['option'][$product_option['product_option_id']] 
            = sprintf($this->language->get('error_required'), $product_option['name']);
        ?>
        <script>
        $(function () {
            $("#option-<?php echo $product_option['product_option_id'] ?> input").focus();
        });
        </script>
        <?php
    }
}

【讨论】:

  • 我不知道这段代码在你的脚本中的什么位置。我假设它在生成输出页面的代码中,并且您已经开始打印 HTML,并且是在加载 jQuery 之后,因此您可以像这样插入 &lt;script&gt; 块。您可能需要对其进行调整以满足您的确切需求,因此只需考虑这一点来展示基本想法。
猜你喜欢
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多