JavaScript appendChild()输入到表单

时间:2015-07-29 03:58:52

标签: javascript

我正在尝试在页面加载(<input>)之后在<form>中添加<body onload="random()>",但它无效。我做错了什么?

这是自己的剧本:

function random()
{
    var points = Math.floor((Math.random() * 1000) + 1)
    var input = document.createElement("input");
    input.setAttribute("type", "hidden");
    input.setAttribute("name", "points");
    input.setAttribute("value", points.toString());
    document.getElementById("redeem_form").appendChild(input);
}

这是形式:

<form action="/redeem" method="POST" id="redeem_form">
     <label for="user_email">Enter your email: </label>
     <input type="email" id="user_email" name="email" required>
     <input type="submit" value="Redeem">
</form>

2 个答案:

答案 0 :(得分:1)

您实际上正在创建隐藏的输入字段。所以,只有一个不可见的字段没有错误。

尝试更改:

input.setAttribute("type", "hidden");

要:

input.setAttribute("type", "text");

答案 1 :(得分:0)

请注意,添加的input实际上是hidden

input.setAttribute("type", "hidden");

请用;

替换它
input.setAttribute("type", "text");