Jquery 如何制作自定义小部件来上传图像
我正在制作一个小部件,它可以上传图像并在小部件面板中预览图像,所以我使用JQuery将URL从Jquery 如何制作自定义小部件来上传图像,jquery,wordpress,Jquery,Wordpress,我正在制作一个小部件,它可以上传图像并在小部件面板中预览图像,所以我使用JQuery将URL从添加到,但它不会将URL传递给img,因为静态Html一切都起作用,但当我尝试将其实现到WordPress时,它不起作用。在控制台中不显示任何错误 有什么问题,或者有更简单的方法来解决 function.php public function form($instance) { $name_1 = $instance["name_1"]; $name_2 = $instance["na
添加到
,但它不会将URL传递给img,因为静态Html一切都起作用,但当我尝试将其实现到WordPress时,它不起作用。在控制台中不显示任何错误
有什么问题,或者有更简单的方法来解决
function.php
public function form($instance) {
$name_1 = $instance["name_1"];
$name_2 = $instance["name_2"];
$picture_1 = $instance["pic_1"];
$picture_2 = $instance["pic_2"];
?>
<label>Name:</label>
<input type="text" name="<?php echo $this->get_field_name("name_1"); ?>" value="<?php echo esc_attr( $instance['name_1'] ); ?>"><br>
<!--Upload Image-->
<input name="<?php echo $this->get_field_name('pic_1'); ?>" type="file" value="<?php echo esc_attr($picture_1); ?>" id="imgInp"/>
<img class="pic-preview" src="#" alt="Your image" style="width:120px;height:120px;background:#eee;display:block;" />
<script>
var $j = jQuery.noConflict();
$j(document).ready(function() {
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$j('.pic-preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$j("#imgInp").change(function(){
readURL(this);
});
});
</script>
<?php
}//form
public function widget($args, $instance ) {
<div class="profile-pics">
<div class="col-sm-6">
<div class='mfc-link'>
<img src='<?php echo esc_url( $instance['pic_1'] ) ?>'>
</div>
<p><?php echo $instance["name_1"]; ?></p>
</div>
</div>
<?php
}
}
公共函数表单($instance){
$name_1=$instance[“name_1”];
$name_2=$instance[“name_2”];
$picture_1=$instance[“pic_1”];
$picture_2=$instance[“pic_2”];
?>
姓名:
如果在更改事件中放入console.log,它会运行吗?使用:$j(document).on('change','imgInp',function()无任何输出到consoletry{…
太棒了!你知道我如何将url传递给php变量,以便在保存后显示它。你可以将它保存为自定义元选项,然后在需要的地方将它拉过来。如果你想将JS变量发送到php,你需要使用AJAX。如果你在更改事件中放入console.log,它会运行吗?没有任何输出到consoletry using:$j(document)。on('change','imgInp',function(){…
太棒了!您知道如何将url传递给php变量,以便在保存后可以显示它。您可以将其保存为自定义元选项,然后在需要的地方将其拉过来。如果要将JS变量发送到php,您需要使用AJAX。