2013-02-20 25 views
0

我在這裏討論WordPress上的這段代碼。不知道如何繞過它。jQuery on Wordpress表格

因此,我有一個Wordpress主題的四個文件輸入。此表單用於編輯廣告並充滿從數據庫中檢索的信息。如果有圖片,輸入被隱藏並顯示文本框和按鈕。

我想要做的是,點擊按鈕並隱藏/刪除文本字段和按鈕。並且,它使文件輸入出現之後。

這就是我正在嘗試RO實現它:

      <script language="text/javascript"> 
         $(function(){ 
          $('#btn1').click(function(){ 
             $.ajax({ 
              url:"/wp-admin/admin-ajax.php", 
              type:'POST', 
              data:'action=my_special_action', 
              success:function(results) 
              { 
               // alert(results); 
               $("#pic1").attr('type','file'); 
              } 
             }); 
            } 
          ); 
         }); 

        </script> 
       <?php for ($i=1;$i<=get_option('wpClassifieds_max_img_num','4');$i++): 
         if($i <= $num_rows) { 
          $ad_photos = mysql_fetch_array($res); 
          $upload_array = wp_upload_dir(); 
          $upload_array['subdir'] = "awpcp"; ?> 
           <div class="pictures"> 
           <label><?php _e('Picture', "wpct");?> <?php echo $i?></label> 
           <textarea id="text<?php echo $i; ?>" name="text<?php echo $i; ?>" readonly><?php echo $ad_photos["image_name"];?></textarea> 
           <button id="btn<?php echo $i?>" name="btn<?php echo $i?>" />remove 
           <input type="hidden" name="pic<?php echo $i?>" id="pic<?php echo $i?>" value="<?php echo $_POST["pic".$i];?>" /> 
           </div> 
           <?php }else{ ?> 
            <div class="pictures"> 
             <label><?php _e('Picture', "wpct");?> <?php echo $i?></label> 
             <input type="file" name="pic<?php echo $i?>" id="pic<?php echo $i?>" value="<?php echo $_POST["pic".$i];?>" /> 
            </div> 
           <?php } endfor; ?> 

你能幫助我嗎?

感謝

+0

那麼有什麼不工作? – 2013-02-20 20:31:43

+0

可能重複http://stackoverflow.com/q/1456202/1270996 – 2013-02-20 20:37:25

回答

0

包裝所有的WordPress的jQuery代碼是這樣的:

更換$(function(){jQuery(function ($) {

基本上,WordPress的擁有jQuery的設置中,不會與其他庫發生衝突的方式,想要訪問'$'字符。

+0

謝謝尼古拉斯。我已經完成了。但它不起作用... 我想獲得AJAX工作在這個功能,但它只是加載整個頁面... – rk22 2013-02-20 20:36:53

+0

您是否收到任何錯誤? – 2013-02-20 20:39:38

+0

你爲什麼要發佈到'/ wp-admin/admin-ajax.php'? – 2013-02-20 21:33:13

0

您不想使用$('#btn1'),因爲該腳本只能在ID爲#btn1的按鈕上使用。

做這樣的事情:

jQuery('.pictures button').on('click', function() { 
    // If you need button ID 
    var button_id = jQuery(this).attr('id'); 

    // Hide the text area 
    jQuery(this).prev('textarea').hide(); 
    // And button 
    jQuery(this).hide(); 
    // Show Input field 
    jQuery(this).next('input').show(); 

}); 

我沒有添加ajax因爲我不知道這樣做的目的。

+0

謝謝史蒂芬。 問題是,頁面自動完全重新加載。我想使這項工作無需重新加載頁面... 這就是爲什麼我試圖使用AJAX。 – rk22 2013-02-20 21:22:09

+0

可能會將其作爲提交來處理。嘗試設置'type =「按鈕」'。測試時放棄'.ajax'。 – Steven 2013-02-20 22:19:56

+0

是的,但這只是表格的一部分。 – rk22 2013-02-20 23:14:43