点击模态框内图片获取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
相关产品推荐
相关产品推荐

