是否可以将样式应用于表单字段的值?

时间:2011-09-30 19:57:54

标签: html css

我有一个表单输入标记,其值属性分配了一些文本:

<input type="text" name="firstName" value="First Name*" />

由于这是必填字段,如何将“名字*”字符串末尾的星号设为红色?这甚至可能吗?...您如何设置预先填充的表单字段的值?

谢谢。

6 个答案:

答案 0 :(得分:2)

我认为你应该让它变得更加复杂。可能有一种使用javascript或jquery的方法,但我认为这有点矫枉过正。

我只是把它放在盒子的外面,并在<span>标签内设置样式。

答案 1 :(得分:1)

我认为你不能将一个角色设为红色,但你可以将整个字符串设为红色。

我可能会做的是在输入框外面设置星号并按照这个样式设置

<input ...value="FirstName"><span style="color: #FF0000;">*</span>

答案 2 :(得分:1)

不,这是不可能的。你必须假装它。

然而,这就是<label>的用途!!

<label>First Name* <input name=firstName required></label>

答案 3 :(得分:0)

即使有可能,也不是一个好习惯。数据应始终与表示分开。除了您真正需要发布的数据外,您不需要任何其他内容。

最好使用jQuery解决方案,如果出现错误,只需将一个类分配给post上的输入字段,例如:使输入内的文本变为红色,在输入框周围绘制红色边框等。

答案 4 :(得分:0)

如果您正在使用asp .net,为什么不使用必要的字段验证器控件并让它为您完成工作。

答案 5 :(得分:0)

我建议不要在字段中添加*,而是通过CSS和jQuery / JavaScript修改元素的样式来表示必填字段。

工作示例:http://jsfiddle.net/wstGQ/

CSS:

input {
 color: #ccc;   
}
.required {
 color: #FF0000;
 border: 1px solid #FF0000;   
}

jQuery的:

$('input').focus(function(){
    var obj= $(this);
    var oldVal = obj.val();

    obj.blur(function(){
        if(obj.val() == oldVal){
         obj.val('Please enter a valid option').addClass('required'); 
        }else{
         obj.removeClass('required');   
        }
    });
});