You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击模态框内图片获取ID,写入隐藏input时setAttribute失效求助

解决模态框中设置隐藏input value不生效的问题

嘿,我懂你碰到的这个小麻烦——能拿到图片的ID却没法把它塞进隐藏input里,确实有点闹心。其实问题出在你设置value的方式上,表单元素的value属性有点特殊,用setAttribute有时候不会同步到元素的实际值,因为它属于动态属性,和DOM节点的属性不是完全绑定的。

你可以试试直接给input的.value属性赋值,这才是操作表单元素值的标准姿势:

function getCourseImageId(e){ 
  var id = e.getAttribute('id'); 
  // window.alert(id); 
  document.getElementById("chosenCoursePicture").value = id; 
}

另外,你可以再检查两个细节确保万无一失:

  • 确认隐藏input的ID确实是chosenCoursePicture,有没有拼写错误(大小写、多字少字这种小问题很容易坑人)
  • 确保这个input元素在调用函数的时候已经存在于DOM中(比如模态框是动态生成的话,要保证元素已经渲染完成再绑定点击事件)

如果还是有问题,你可以在赋值前加个判断,确认找到目标input元素了:

function getCourseImageId(e){ 
  var id = e.getAttribute('id'); 
  var input = document.getElementById("chosenCoursePicture");
  if(input){
    input.value = id;
    console.log("赋值成功:", input.value); // 可以在控制台看看实际值是否正确
  } else {
    console.log("找不到目标input元素!");
  }
}

这样应该就能解决你的问题啦~

内容的提问来源于stack exchange,提问作者aderchox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:05:16