一个JavaScript函数,用于更新多个隐藏字段,具体取决于它们是否存在
A JavaScript function to update multiple hidden fields depending if they exist or not
我有一个JavaScript函数,用于更新向用户显示的图像的文件名字段中隐藏的内容。这适用于具有单个图像和单个隐藏字段的页面。我正在尝试对其进行自定义,以便在单个页面上使用它来更新多个隐藏字段,具体取决于它们是否存在。
以前,我试图从onload
中调用用分号分隔的单独函数。它适用于第一个页面/隐藏字段,但当第一个隐藏字段在第二个页面上不可用时,它一直在清除错误。
在这次尝试中,我试图使用一个带有if语句的函数来链接到隐藏字段的id,但不幸的是,我似乎无法让它在任何页面/隐藏字段上工作
有人能告诉我哪里出了问题吗?我相信这是可能的,但我没有得到任何结果。感谢
电流输出
<input id="id_9-slider_one_image" name="9-slider_one_image" type="hidden" />
<input id="id_10-slider_two_image" name="10-slider_two_image" type="hidden" />
<input id="id_11-slider_three_image" name="11-slider_three_image" type="hidden" />
所需输出
<input id="id_9-slider_one_image" name="9-slider_one_image" type="hidden" value="P1DP.jpg"/>
<input id="id_10-slider_two_image" name="10-slider_two_image" type="hidden" value="P6D6.jpg"/>
<input id="id_11-slider_three_image" name="11-slider_three_image" type="hidden" value="P3D3.jpg"/>
我的代码
<div class="image_rating">
<img src="{% static "survey/images/pathone/" %}{{display_image}}" value="{{display_image}}" onload="updateInput(this)"/>
</div>
<script type="text/javascript">
function updateInput(ish) {
var valueAttribute = ish.getAttribute("value");
if($(this).attr("id") == "id_9-slider_one_image")
document.getElementById("id_9-slider_one_image").setAttribute(
"value", valueAttribute);
if($(this).attr("id") == "id_10-slider_two_image")
document.getElementById("id_10-slider_two_image").setAttribute(
"value", valueAttribute);
if($(this).attr("id") == "id_11-slider_three_image")
document.getElementById("id_11-slider_three_image").setAttribute(
"value", valueAttribute);
}
</script>
由于这个问题和投票率最高的答案,我能够在尝试设置值之前检查页面中是否存在id
{% if wizard.steps.current in steps %}
<div class="image_rating">
<img src="{% static "survey/images/pathone/" %}{{display_image}}" value="{{display_image}}" onload="updateInput(this)"/>
</div>
<script type="text/javascript">
function updateInput(ish) {
var valueAttribute = ish.getAttribute("value");
if (document.getElementById('id_9-slider_one_image')) {
document.getElementById("id_9-slider_one_image").setAttribute(
"value", valueAttribute)
}
if (document.getElementById('id_10-slider_two_image')) {
document.getElementById("id_10-slider_two_image").setAttribute(
"value", valueAttribute)
}
if (document.getElementById('id_11-slider_three_image')) {
document.getElementById("id_11-slider_three_image").setAttribute(
"value", valueAttribute)
}
</script>
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 用于检查数组中是否存在元素的javascript自定义方法
- jquery移动对齐按钮取决于内容大小
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在将事件处理程序添加到不存在的类
- 是否存在React Native“;WEB代码安全防护”;
- 一个密码测试程序,如果存在空格,它会提醒用户
- 验证会话中是否存在对象's数组
- javascript如果图像不存在don't加载它
- 动态更改'汉堡包'导航取决于BG图像
- 如何查找值是否存在于二叉树中
- jQuery:添加和删除<br>标签,这取决于窗口宽度以及标签是否已经存在
- 显示一个值或其他值,具体取决于它是否存在
- 返回不一致结果的日期(取决于是否存在前导零)
- 打开现有iframe中的链接或运行代码,具体取决于iframe是否存在
- 使用node/express/jade,如何服务两个javascript文件中的一个,取决于第一个是否存在
- 一个JavaScript函数,用于更新多个隐藏字段,具体取决于它们是否存在