我想在提交之前设置隐藏在表单中的类型的输入,我不明白为什么它没有设置我的字段:
<form id="createForm" method="post" action="[myhost]/[myaddress]/[mypath]" enctype="multipart/form-data" > <input type="hidden" id="ticket" name="Ticket" /> </form> <input id="setterInput" type="text"/> <button onclick="methods.setHidden()"></button>
JS
window.methods = { setHidden: function () { var form = document.getElementById('createForm'); var setter=document.getElementById('setter'); var input = document.getElementsByName('Ticket'); input.value = setter.value; console.log(input.value); //has the desired value //looking with the debugger in my form at the target input,the value is still default } }
当我在console.log行中设置调试器时,输入变量已设置.但它不会反映在表单中.
当我滚动表单时,输入的值仍为“”.
有什么建议 ?
解决方法
getElementsByName返回一个元素数组,即使只有一个元素.
你可以做两件事:
改变这个:
var input = document.getElementsByName('Ticket');
对此:
var input = document.getElementById('ticket');
或者如果你想继续使用getElementsByName,你可以像这样访问它的值:
var input = document.getElementsByName('Ticket')[0];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。