2013-02-20 2 views
0

나는이 코드를 WordPress에서 다루고있다. 주변을 피하는 법을 모릅니다.jQuery on Wordpress 양식

그래서 Wordpress 테마에 4 개의 파일 입력이 있습니다. 이 양식은 광고를 수정하고 데이터베이스에서 검색된 정보로 채워집니다. 그림이 있으면 입력이 숨겨지고 텍스트 필드와 버튼이 나타납니다.

내가하려는 것은 버튼을 클릭하고 텍스트 필드와 버튼을 숨기거나 제거하는 것입니다. 그리고 나서, 파일 입력이 나타나게합니다.

      <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; ?> 

당신이 날 도와 줘요 수 :

이 내가 그것을 구현 RO 노력하고 어떻게?

감사

+0

그래서 작동하지 않는 것은 무엇입니까? –

+0

가능한 중복 http://stackoverflow.com/q/1456202/1270996 –

답변

0

랩과 같은 워드 프레스에 jQuery 코드의 모든 :

기본적으로 jQuery(function ($) {

으로 $(function(){ 교체, 워드 프레스는 설정 jQuery를 다른 라이브러리와 충돌하지 않는 방식으로 갖는다 '$'문자에 액세스하고 싶습니다.

+0

감사합니다. Nicholas. 난 끝냈어. 그러나 그것은 작동하지 않습니다 ... 나는이 기능을 작동시키는 AJAX를 얻고 싶습니다만, 전체 페이지를로드합니다 ... – rk22

+0

오류가 있습니까? –

+0

왜 '/ wp-admin/admin-ajax.php'에 게시하고 있습니까? –

0

$('#btn1')을 사용하고 싶지 않은 것은 스크립트가 ID가 #btn1 인 버튼에서만 작동하기 때문입니다. 이 같은

어떻게 좀 :이의 목적을 알고하지 않기 때문에 내가 ajax를 추가하지했습니다

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(); 

}); 

.

+0

감사합니다 스티븐. 문제는 페이지가 자동으로 완전히 다시로드된다는 것입니다. 페이지를 새로 고침하지 않고이 작업을하고 싶습니다 ... 그래서 AJAX를 사용하려고했습니다. – rk22

+0

제출으로 처리 될 수 있습니다. 'type = "button"'을 설정해보십시오. 그리고 이것을 테스트 할 때'.ajax'를 삭제하십시오. – Steven

+0

예,하지만 이것은 양식의 일부일뿐입니다. – rk22