2013-02-20 5 views
0

Я занимаюсь этим кодом здесь, на WordPress. Не знаю, как обойти это.jQuery на Wordpress Form

Итак, у меня есть четыре файла ввода, которые находятся на тему Wordpress. Эта форма предназначена для редактирования объявления и заполняется информацией, полученной из базы данных. Если есть изображение, вход скрыт и появляется текстовое поле и кнопка.

Что я пытаюсь сделать, это нажать кнопку и скрыть/удалить текстовое поле и кнопку. И после этого появится файл.

Это, как я пытаюсь ро реализовать:

      <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

Так что же не работает? –

+0

Возможный дубликат http://stackoverflow.com/q/1456202/1270996 –

ответ

0

Wrap все из кода JQuery в Wordpress, как это:

Заменить $(function(){ с jQuery(function ($) {

В принципе, Wordpress имеет настройки Jquery таким образом, что не будет вступать в противоречие с другими библиотеками, хотите получить доступ к символу '$'.

+0

Спасибо Николаю. Я сделал это. Однако это не сработает ... Я хотел бы получить AJAX, работающий над этой функцией, но он просто загружает всю страницу ... – rk22

+0

Есть ли у вас какие-либо ошибки? –

+0

Почему вы отправляете сообщение '/ wp-admin/admin-ajax.php'? –

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

+0

Это может быть обработано как submit. Попробуйте установить кнопку «type =» «». И удалите '.ajax', когда тестируете это. – Steven

+0

Да, но это только часть формы. – rk22