如何通过 JavaScript 设置输入隐藏字段的值?
Posted
技术标签:
【中文标题】如何通过 JavaScript 设置输入隐藏字段的值?【英文标题】:How to set the value of a input hidden field through JavaScript? 【发布时间】:2013-10-14 11:56:40 【问题描述】:我正在尝试调用resetyear
函数,它也被调用,但流程在alert("over")
处停止。它不会将控制权转移给resetmaster
。
String flag = "";
flag = (String) session.getAttribute("flag");
System.out.println("flag = " + flag);
if (flag == null)
flag = "";
if (flag.equals("yes"))
%>
<script>
alert(1);
// resetyear();
dontreset();
//document.getElementById("checkyear").value = "1";
//alert(document.getElementById("checkyear").value);
</script>
<% else if(flag.equals("no"))
%>
<script>
alert(2);
//document.getElementById("checkyear").value = "2";
//alert(document.getElementById("checkyear").value);
resetyear();
</script>
<%else%>
function resetyear()
if(confirm("DO YOU WANT TO RESET THE YEAR?"))
alert("hello");
//document.forms['indexform'].action = "resetmaster";
//alert(document.forms['indexform'].action);
//document.forms['indexform'].submit();
alert("over");
form.action = "resetmaster";
form.submit();
alert(1);
【问题讨论】:
尝试将您的 html 放在 尝试对其执行操作的脚本之前。 "" 是什么意思? @underscorePez 谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答 编辑是否使问题完全脱离了标题和答案? 【参考方案1】:对我来说它有效:
document.getElementById("checkyear").value = "1";
alert(document.getElementById("checkyear").value);
http://jsfiddle.net/zKNqg/
也许你的 JS 没有执行,你需要在它周围添加一个 function() 。
【讨论】:
但是我将不得不调用我不想要的那个函数。我希望它根据 if 条件进行设置。 如果您只创建 function() (没有函数名称),则该函数称为 onload。 至少当我使用 jquery 时它是这样工作的:$(function() ); 谢谢你的朋友。我改变了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答【参考方案2】:我将尝试的第一件事 - 确定您的带有警报的代码是否实际呈现。我在您发布的内容中看到了一些服务器“如果”代码,因此可能是不满足渲染 javascript 的条件。因此,在您正在处理的页面上,右键单击 -> 查看源代码。尝试在那里找到js代码。如果您在页面上找到代码,请告诉我们。
【讨论】:
谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答【参考方案3】:您设置隐藏输入值的代码是正确的。这是example。也许您的 if
语句中有一些条件不允许您的脚本执行。
【讨论】:
谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答【参考方案4】:您需要在元素存在后运行脚本。将<input type="hidden" name="checkyear" id="checkyear" value="">
移到开头。
【讨论】:
谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答【参考方案5】:它似乎在谷歌浏览器中运行良好。您使用的是哪个浏览器? 这里是证明http://jsfiddle.net/CN8XL/
无论如何你也可以通过document.FormName.checkyear.value
访问输入值参数。您必须将输入包装在 <form>
标记中,就像使用正确的 name
属性一样,如下所示:
<form name="FormName">
<input type="hidden" name="checkyear" id="checkyear" value="">
</form>
您是否考虑过使用 jQuery 库?这是docs for .val()
function。
【讨论】:
谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答 .val() 无法作用于隐藏元素。见***.com/questions/2979772/… 你确定吗,zamber?我不这么认为 jsfiddle.net/rcegvttm (我使用 jquery 1.12,也尝试使用 2.x 或 3.x 无论如何)另一个帖子:***.com/questions/4376664/…以上是关于如何通过 JavaScript 设置输入隐藏字段的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 JavaScript 或 jQuery 的情况下将 div 的文本绑定到隐藏字段?