【问题标题】:How to set the value of a input hidden field through JavaScript?如何通过 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 条件调用该函数。我再次修改了这个问题。请检查并建议我回答
  • 编辑是否使问题完全脱离了标题和答案?

标签: javascript html hidden-field


【解决方案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】:

您需要在元素存在后运行脚本。将&lt;input type="hidden" name="checkyear" id="checkyear" value=""&gt; 移到开头。

【讨论】:

  • 谢谢你的朋友。我更改了整个代码。我没有使用隐藏标签,而是直接从 if 条件调用该函数。我再次修改了这个问题。请检查并建议我回答
【解决方案5】:

它似乎在谷歌浏览器中运行良好。您使用的是哪个浏览器? 这里是证明http://jsfiddle.net/CN8XL/

无论如何你也可以通过document.FormName.checkyear.value访问输入值参数。您必须将输入包装在 &lt;form&gt; 标记中,就像使用正确的 name 属性一样,如下所示:

<form name="FormName">
    <input type="hidden" name="checkyear" id="checkyear" value="">
</form>

您是否考虑过使用 jQuery 库?这是docs for .val() function

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-04-20
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-31
  • 2018-04-12
  • 1970-01-01
  • 2021-12-16
相关资源
最近更新 更多