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