Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将元素id从div发送到javascript文件_Javascript_Jquery_Django_Django Forms_Django Templates - Fatal编程技术网

将元素id从div发送到javascript文件

将元素id从div发送到javascript文件,javascript,jquery,django,django-forms,django-templates,Javascript,Jquery,Django,Django Forms,Django Templates,我正在尝试使用javascript触发文件输入。我使用的是Django formset,我已经获得了当前Javascript函数的输入字段id,如下所示: $(document).ready(function(){ $("#show-image-upload-inputs").click(function(){ $("#image-upload-div").toggle(); }); function open_input (id,input_id) {

我正在尝试使用javascript触发文件输入。我使用的是Django formset,我已经获得了当前Javascript函数的输入字段id,如下所示:

$(document).ready(function(){
    $("#show-image-upload-inputs").click(function(){
      $("#image-upload-div").toggle();
    });

    function open_input (id,input_id) {
      $(this.id).on("click", function () {
        $(this.input_id).trigger("click");
      });
    }
  });
在我的HTML中,我使用onclick将它们传递给函数:

<div id="file-0-selector" class="add-image" onclick="open_input(this.id,document.getElementById('id_form-0-image'))"><i class="mt-2 fas fa-plus fa-5x"></i></div> 

然而,当我点击它时,我没有看到上传框打开,我想知道如何才能做到这一点。我已经从我的表单集中获取了图像输入字段,id似乎是正确的


提前感谢。

您的
打开\u输入
函数只是绑定了另一个单击处理程序,您应该删除它,并且要在jQuery中按id选择一个元素,您需要在id前面加上
前缀,而不需要使用
访问变量

function open_input(input_id) {
  $("#" + input_id).trigger("click");
}
现在您的
onclick
变得更加简单,因为您不需要选择元素,只需要传递它的id即可

onclick="open_input('id_form-0-image')"

您好,您可以使用vanilla js吗?
open\u input
只是绑定了另一个“click”处理程序吗?
$(this.id)
$(this.input\u id)
真的正确吗?AFAICT您的内联JS将
id
作为字符串传递,将
input\u id
作为DOM节点(JS,而不是jQuery)传递。但是要使用
id
作为jQuery选择器,您需要使用
$('#'+id)
,而不是
$(this.id)
。我不知道
$(this.input\u id)
会做什么,因为
input\u id
是JSDOM节点吗。。。?