我正在寻找一种在选定字段上添加水印的方法。
不起作用 - >
[select* c_type class:ic watermark "choose type" "a" "b" "c"]
要设置验证失败的无效值,我必须放置include_blank
[select* c_type class:ic include_blank "a" "b" "c"]
但问题是我有---
作为水印,这就是我想改变的地方..
答案 0 :(得分:13)
更新版本的Contact Form 7允许使用first_as_label创建占位符文本,如果用户不进行选择,则该文本不会作为条目验证。只需将占位符文本作为选项列表中的第一个标签即可。
function testBG(){
updateColors(0,[7,8,9,18,19,23]);
}
function updateColors(sheetNum,array){
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[sheetNum];
var columns = sh.getMaxColumns();
var range = sh.getRange(1,1,sh.getMaxRows(),columns);
sh.getRange(1,1,sh.getMaxRows(),columns).setBackground(null);// use this if you want to clear all colors before setting them
var backGrounds = range.getBackgrounds();// get all cells BG
for(var n=0;n<backGrounds.length;n++){
var rowIdx = n+1;
if(array.indexOf(rowIdx)>-1){
for(c=0;c<columns;c++){
backGrounds[n][c]="#F00";// if row number is in the array fill in red
}
}
}
sh.getRange(1,1,sh.getMaxRows(),columns).setBackgrounds(backGrounds);//update sheet in one call
}
答案 1 :(得分:7)
经过艰苦搜索后,我发现这个脚本正在工作,并在定位到该元素时替换“---” 这一个正在改变所有的“---”s
function my_wpcf7_form_elements($html) {
$text = 'Please select...';
$html = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $html);
return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');
此代码,替换为定位
function my_wpcf7_form_elements($html) {
function ov3rfly_replace_include_blank($name, $text, &$html) {
$matches = false;
preg_match('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $html, $matches);
if ($matches) {
$select = str_replace('<option value="">---</option>', '<option value="">' . $text . '</option>', $matches[0]);
$html = preg_replace('/<select name="' . $name . '"[^>]*>(.*)<\/select>/iU', $select, $html);
}
}
ov3rfly_replace_include_blank('menu-569', 'Choose language', $html);
ov3rfly_replace_include_blank('menu-614', 'Choose country', $html);
return $html;
}
add_filter('wpcf7_form_elements', 'my_wpcf7_form_elements');
希望能为你们中的一些人省事
(来源here)
答案 2 :(得分:4)
试试这个:
[select* menu-206 first_as_label "Select doctor" "David Mikaberidze" "Sophio Gelashvili" "Maya Dolidze"]
答案 3 :(得分:3)
你可以用一行jQuery来做。
用我想要的占位符文本替换 - - - 我是第一个 所有这些都在联系表格7选项中为字段提供了ID。以下 这个,我在脚本标签之间的主题页脚中添加了以下内容。
$("#typeofinjury option:first:contains('---')").html('How Were You Injured?');//Replace ---
代码只是在下拉菜单中查找第一个选项 其ID为'typeofinjury'。然后用文本替换它 “你是怎么受伤的?”。
此解决方案的博客文章包含屏幕截图Here
答案 4 :(得分:1)
如果您发现字符串替换效率不高,您可以简单地使用它:
jQuery(function($) {
$("select option:first").attr('disabled', 'disabled');// Disable the first value/label ---
});
我还确保第一个选择是&#34;标签&#34;我想使用,添加&#39; first_as_label&#39;到wcf7中的短代码,如下:
[select name first_as_label 'label' 'alt1' 'alt2' 'alt3']
通过禁用第一个选项,wcf7不会确认表单,直到选择了启用的替代选项。