Javascript Wordpress表单jQuery

Javascript Wordpress表单jQuery,javascript,jquery,html,ajax,wordpress,Javascript,Jquery,Html,Ajax,Wordpress,我正在WordPress上处理这段代码。我不知道如何避开它 所以,我有一个四个文件的输入,是关于Wordpress主题的。此表单用于编辑广告,并填写从数据库检索到的信息。如果有图片,输入将隐藏并显示文本字段和按钮 我试图做的是,单击按钮并隐藏/删除文本字段和按钮。然后,它使文件输入出现 这就是我尝试实现它的方式: <script language="text/javascript">

我正在WordPress上处理这段代码。我不知道如何避开它

所以,我有一个四个文件的输入,是关于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; ?>

$(函数(){
$('#btn1')。单击(函数(){
$.ajax({
url:“/wp admin/admin ajax.php”,
类型:'POST',
数据:'action=my_special_action',
成功:功能(结果)
{
//警报(结果);
$(“#pic1”).attr('type','file');
}
});
}
);
});

在Wordpress中包装所有jQuery代码,如下所示:

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

});
$(function(){
替换为
jQuery(function($){


基本上,Wordpress设置jQuery的方式不会与希望访问“$”字符的其他库发生冲突。

您不想使用
$(“#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,因为我不知道它的用途。

那么什么不起作用?可能是重复的感谢Nicholas。我已经做了。但是它不起作用…我想让ajax在这个函数上工作,但它只加载整个页面…为什么你要发布到
/wp admin/admin ajax.php
?这就是我得到的谷歌搜索AJAX和WordPess。应该怎么做?我如何检查错误?你的浏览器应该能够向你显示javascript错误:User2083008:你为什么要使用AJAX?谢谢Steven。问题是页面自动完全重新加载。我想在不必重新加载页面的情况下完成这项工作…这就是我尝试使用AJAX的原因。它可能被处理为提交。请尝试设置
type=“button”
,并在测试时删除
.ajax
。可以,但这只是表单的一部分。