2014-09-24 97 views
0

我们正在使用Contact Form 7与MailChimp for Wordpress插件。一切正常,但是我们为每个表单添加了[mc4wp_checkbox]的简码,有时在页面上可能有2或3个这样的表单,它们都使用相同的简码。MailChimp for Wordpress多种形式

由于造型,我们砍死插件包括标签和从标签下单独输入...

// checkbox 
    $content .= '<p id="mc4wp-checkbox">'; 
    $content .= '<input class="css-checkbox" id="'. $this->checkbox_name .'" type="checkbox" name="'.$this->checkbox_name.'" value="1" '. $checked . ' /> '; 
    $content .= '<label for="'.$this->checkbox_name.'" class="css-label">'; 
    $content .= $label; 
    $content .= '</label>'; 
    $content .= '</p>'; 

我们使用的CSS是像这样:

#mc4wp-checkbox input[type=checkbox].css-checkbox { 
         position:absolute; z-index:-1000; top:-1000px; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0; 
        } 

        #mc4wp-checkbox input[type=checkbox].css-checkbox + label.css-label { 
         padding-left:37px; 
         height:31px; 
         display:inline-block; 
         line-height:31px; 
         background-repeat:no-repeat; 
         background-position: 0 0; 
         font-size:31px; 
         vertical-align:middle; 
         cursor:pointer; 
         font-size:11px; 

        } 

        #mc4wp-checkbox input[type=checkbox].css-checkbox:checked + label.css-label { 
         background-position: 0 -31px; 
        } 
        #mc4wp-checkbox label.css-label { 
      background-image:url(http://csscheckbox.com/checkboxes/u/csscheckbox_b133c39c81582c4d41ca75f74160bf35.png); 
      -webkit-touch-callout: none; 
      -webkit-user-select: none; 
      -khtml-user-select: none; 
      -moz-user-select: none; 
      -ms-user-select: none; 
      user-select: none; 
     } 

所以问题是因为我们在所有表单中使用相同的代码,当您单击复选框时,它只会更新页面上表单的第一个实例,而不是特定的表单 - 所以如果我们在同一页上有3个表单,那么即使您单击checkb,它也只会更改第一个表单的复选框形式3中的牛。我认为这是因为标签 - 但不知道如何使每种形式都具有独特性。这是另一个插件黑客吗?

回答

0

由JQuery使用针对attr和id替换解决。