2014-09-24 99 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替換解決。