私のコメントからの提案です。
HTML
<input type="text" name="email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Email" />
CSS
.placeholder-label {
display: inline-block;
position: absolute;
color: grey;
padding: 2px 3px;
}
.placeholder-label em {
color: red;
}
はJavaScript
$(function() {
function makeRequiredLabel($o) {
$o.each(function(ind, el) {
var ph = $(el).attr("placeholder");
$(el).attr("placeholder", "");
var $label = $("<label>", {
class: "placeholder-label"
}).html(ph + " <em>*</em>");
$label.insertAfter($(el)).css({
top: $(el).position().top + "px",
left: $(el).position().left + "px"
});
});
}
makeRequiredLabel($(".wpcf7-validates-as-required"));
$(".wpcf7-validates-as-required").on("click focus blur focusOut", function(e){
var target = $(this).next(".placeholder-label");
switch(e.type){
case "click":
case "focus":
target.hide();
break;
case "blur":
case "focusOut":
if($(this).val() === ""){
target.show();
}
}
});
});
あなたはjQueryのUIの臭化リチウムに追加する場合あなたはこれを自分のウィジェットにすることができます。
例:https://jsfiddle.net/Twisty/aLvypLv8/
はJavaScript
$(function() {
$.widget("custom.requiredLabel", {
options: {
labelColor: "grey",
labelFont: "Arial",
starColor: "red"
},
_create: function() {
this.placeholder = this.element.attr("placeholder");
this.element.attr("placeholder", "");
this._on(this.element, {
click: "hide",
focus: "hide",
blur: "show",
focusOut: "show"
});
this._createRequired();
},
_createRequired: function() {
this.label = $("<label>", {
class: "ui-require-label"
}).css({
display: "inline-block",
position: "absolute",
color: this.options.labelColor,
"font-family": this.options.labelFont,
padding: "2px 3px"
})
.append(this.placeholder, " ", $("<em>", {
style: "color: " + this.options.starColor + ";"
}).html("*"))
.insertAfter(this.element).css({
top: this.element.position().top + "px",
left: this.element.position().left + "px"
});
this.element.focus(function() {
this.label.hide();
});
this.element.blur(function() {
if (this.element.val() == "") {
this.lebal.show();
}
});
},
_setOptions: function() {
this.superApply(arguments);
},
_setOption: function(key, val) {
if (/labelColor|labelFont|starColor/.test(key)) {
return;
} else {
this._super(key, value);
}
},
_refresh: function() {
this.label.css({
color: this.options.labelColor,
"font-family": this.options.labelFont,
});
this.label.find("em").css("color", this.options.starColor);
},
hide: function(event) {
this.label.hide();
},
show: function(event) {
if (this.element.val() === "") {
this.label.show();
}
}
});
$(".wpcf7-validates-as-required").requiredLabel({
labelColor: "#cfcfcf",
starColor: "#ff9999"
});
});
私はあなたがプレースホルダーテキストのスタイルを設定することができます知っているが、私はあなたはそれの一部をスタイルすることができた場合、あなたはあなた自身の作るために必要がある場合がありますかわかりませんプレースホルダテキスト。もし私があなただったら、プレースホルダーの中のアスタリスクに入力の隣にそれを置くのではなく – Chris
これを行う簡単な方法はありません。 '