jsp问题:想在详情页面必填项文字后边加上(*)且*为红色,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp问题:想在详情页面必填项文字后边加上(*)且*为红色,相关的知识,希望对你有一定的参考价值。

想在详情页面必填项文字后边加上(*)且*为红色,需要加的地方比较多,请问各位高手有没有较简便的方法,以便能以后修改起来也方便
<td class="td-b">主题</td>
改成这样<td class="td-b">主题(*)</td>

给每个需要添加*好的td都加上一个class样式,比如class="tb-b required",然后用jquery获取这些td,$(".required"),然后用each遍历,再添加星号,如下:(最好把jquery换成你自己下的版本)
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function()
$(".required").each(function()
var $this = $(this);
$(this).html($this.html()+"(<font color='red'>*</font>)");
);
);
</script>
</head>
<body>
<table>
<tr><td class="required">a</td></tr>
<tr><td class="required">a</td></tr>
<tr><td class="required">a</td></tr>
<tr><td class="required">a</td></tr>
<tr><td class="required">a</td></tr>
</table>
</body>
</html>
参考技术A 如果你的标题在数据库中储存的话 可以在数据库字段上在加一个flag字段 当flag为1的时候出现(*) 当flag为0的时候就不出现
如果你的标题不是数据库 而是普通的文本形式的话 只能一个一个复制 呵呵~
程序员之家:84735131 有什么问题可以进群探讨哦~
参考技术B 新建一个文本文档,把你要改的内容Copy一下。。。
然后Ctrl+H 替换 选 </td>全部换成(*)</td>
参考技术C js或jQuery很好实现。 参考技术D 没有办法,一般都是把(*)的方法复制了。然后点击相应的位置粘贴。

Django,模型和表单:替换“此字段为必填项”消息

【中文标题】Django,模型和表单:替换“此字段为必填项”消息【英文标题】:Django, Models & Forms: replace "This field is required" message 【发布时间】:2011-07-20 02:02:32 【问题描述】:

我知道在使用普通 Django 表单时如何设置自己的自定义错误消息。但是基于现有模型的 Django Form 呢?考虑以下模型和形式:

Class MyModel(models.Model):
    name = models.CharField(max_length='30')

Class MyForm(forms.ModelForm):
    Class Meta:
        model = MyModel

如果我创建这样的表单并尝试发布它,则会出现消息“此字段是必需的”。但是如何改变呢?当然我可以这样做:

Class MyForm(forms.ModelForm):
    model = forms.CharField(error_messages = 'required': "something...")
    Class Meta:
        model = MyModel

但根据文档,不会保留 max_length 属性,我必须将其显式写入表单定义。我认为 Model Forms 的目的是避免两次编写相同的代码。因此,必须有一些简单的方法来更改自定义错误消息,而无需重写整个表单。基本上,如果我的消息看起来像“需要字段 'name'”,这对我来说就足够了。

请帮忙。

【问题讨论】:

【参考方案1】:
class MyForm(forms.ModelForm):
    class Meta:
            model = MyModel

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['name'].error_messages = 'required': 'custom required message'

        # if you want to do it to all of them
        for field in self.fields.values():
            field.error_messages = 'required':'The field fieldname is required'.format(
                fieldname=field.label)

【讨论】:

谢谢,看起来不错。但是我的印象是,您确实避免了两次编写相同的代码,而是编写了一些实际上更长且更丑陋的代码;)尽管如此,它至少在大型表单上会节省一些工作,所以再次感谢。 我猜每个人都有自己的想法。如果您需要替换所有required 消息,这是迄今为止最干净的。我也不认为它会更长,除非你算上 init 调用,我通常在所有事情中都使用它。 请注意,如果您收到 invalid 错误并且不提供消息,您将收到 a mysterious KeyError @Dan 是的,我得到了那个神秘的 KeyError。我认为field.error_messages['required'] ='The field fieldname is required'.format(fieldname=field.label) 行会更好。 对我不起作用它仍然会出现“请填写此字段”:(【参考方案2】:

您可以在运行时在__init__ 方法中更改字段属性。

【讨论】:

以上是关于jsp问题:想在详情页面必填项文字后边加上(*)且*为红色,的主要内容,如果未能解决你的问题,请参考以下文章

请教在一个页面上有必填项也有非必填项,测试传真和手机号码,文本框分成区号

想在ERP软件中添加一个触发器,触发在填写领料单时,领料用途和备注为必填项,领料用途的代码是kcckd1_yt

多选组合框 - 必填项

提交后必填项

jQuery Validator,使任一字段为必填项

表单验证必填项