Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript填充隐藏的字段值_Javascript - Fatal编程技术网

使用javascript填充隐藏的字段值

使用javascript填充隐藏的字段值,javascript,Javascript,我有一个叫做makehash的函数 我必须用makehash的返回值填充hash字段的值 <form action="http://example.com/test.php" enctype="multipart/form-data" method="post"> <input type="file" name="datafile" size="40"> <input type="hidden" name="upload_mode" value="0"> &l

我有一个叫做makehash的函数 我必须用makehash的返回值填充hash字段的值

<form action="http://example.com/test.php" enctype="multipart/form-data" method="post">
<input type="file" name="datafile" size="40">
<input type="hidden" name="upload_mode" value="0">
<input type="hidden" name="hash" value="">
<input type="submit" value="Upload">
</form>

这假设您只有一个表单,如果您有更多表单,请指定表单名称而不是0,或者为隐藏的输入指定ID并使用document.getElementById。

您可以通过抓取输入并设置来完成,如下所示:

document.getElementsByName("hash")[0].value = makehash();

还有其他方法,例如,如果它是唯一的,则id是一个很好的选择。

getElementsByName就我所知不是跨浏览器的。。什么浏览器支持它?@Shadow-所有浏览器都支持它,IE和Opera在某些罕见的情况下会遇到问题。谢谢,我现在发现问题只是在为div等元素命名时出现的,而这与此情况无关:假设元素是第一种形式,一定要检查它在哪里:谢谢你的回答,我已经在主要问题中添加了整个形式。@Krishna我的答案仍然是一样的。。放在页面底部的那行代码将用函数makehash的返回值填充隐藏字段。我在标记中添加了它。但它不会填充表单。我在浏览器中打开后检查了源代码。值未填充。它为空。为了测试函数是否工作,我检查了alertmakehash,所以这个函数运行得很好。@Krishna-你不会在源代码中看到它,把它改成,你应该会看到它。
document.getElementsByName("hash")[0].value = makehash();