请联系Form 7水印以选择菜单

时间:2012-11-01 13:55:50

标签: php wordpress contact-form-7

我正在寻找一种在选定字段上添加水印的方法。

不起作用 - >

[select* c_type class:ic watermark "choose type" "a" "b" "c"]

要设置验证失败的无效值,我必须放置include_blank

[select* c_type class:ic include_blank "a" "b" "c"]

但问题是我有---作为水印,这就是我想改变的地方..

5 个答案:

答案 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不会确认表单,直到选择了启用的替代选项。