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

Div*_*ang 33 html javascript 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);
}
Run Code Online (Sandbox Code Playgroud)

alm*_*lmo 59

对我来说它有效:

document.getElementById("checkyear").value = "1";
alert(document.getElementById("checkyear").value);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/zKNqg/

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


小智 6

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


小智 5

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

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

<form name="FormName">
    <input type="hidden" name="checkyear" id="checkyear" value="">
</form>
Run Code Online (Sandbox Code Playgroud)

你考虑过使用jQuery库吗?这是功能的文档.val().