0

我在整个互联网上搜索,但找不到我的问题的答案。我正在使用 codeigniter form_validation 助手。

我想通过将输入字段着色为红色来告诉用户他在哪个输入字段中出错。

这是我如何输入字段的示例

echo form_input($field, set_value($field));

并在控制器中

$this->form_validation->set_rules($field, $field,'required|trim|xss_clean|callback_check_numbers');

$this->form_validation->set_message('check_numbers', '<script tpye="text/javascript">alert("Only numbers and dots are allowed");</script>');

而不是那个警报,我想把输入字段涂成红色。但是,如果我尝试包含一些样式而不是该警报,则不会发生任何事情,因为 CI 甚至在将标头放入文件之前就已写入此内容,然后所有错误样式都会因包含 css 文件而丢失。有没有办法获取发生错误的字段的字段ID?以及如何使用例如 jquery 将输入绘制为红色?

谢谢你。

4

2 回答 2

1

您正在寻找的是“在视图页面中”:

    <?php
    if (form_error($field)) {
    echo form_input($field, set_value($field), 'style="border:1px solid #ff0000"');
   } else {
      echo form_input($field, set_value($field));
     }
?>

但我更喜欢你不生成字段,而是将它们写为 html 字段,它可以让你更灵活地使用内联 php 操作你的字段,并且会是这样的:

    <input name="field" <?php if (form_error('field')) {?> style="border:1px solid #ff0000" <?php } ?> type="text" value="<?php echo set_value('field'); ?>">
于 2013-11-07T04:48:20.167 回答
0

您可以使用 Jquery 表单验证来代替 Codeigniter 表单验证。通过使用它,您可以在“突出显示”的帮助下将您的输入涂成红色。

于 2013-11-07T04:46:24.847 回答