如何通过javascript设置输入隐藏字段的值?

时间:2013-10-07 19:19:54

标签: javascript html hidden-field

我正在尝试调用resetyear函数并且它也被调用但是流程停止在警报(“结束”),它不会将其控制转移到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);
}

5 个答案:

答案 0 :(得分:55)

对我来说,它有效:

document.getElementById("checkyear").value = "1";
alert(document.getElementById("checkyear").value);

http://jsfiddle.net/zKNqg/

也许你的JS没有被执行,你需要在它周围添加一个函数(){}。

答案 1 :(得分:6)

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

答案 2 :(得分:4)

它似乎在Google Chrome中运行良好。您使用的是哪种浏览器? 这里是证明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

答案 3 :(得分:1)

我将尝试的第一件事 - 确定您的代码是否实际呈现了警报。我在你发布的内容中看到了一些服务器“if”代码,因此可能是渲染javascript不满意的条件。因此,在您处理的页面上,右键单击 - &gt;查看源。尝试在那里找到js代码。如果您在页面上找到了代码,请告诉我们。

答案 4 :(得分:1)

您为隐藏输入设置值的代码是正确的。这是example。也许你的if语句中有一些条件不允许你的脚本执行。