在post请求javascript中删除了隐藏的DOM元素

时间:2017-01-10 19:17:23

标签: javascript html post

我有一个带有复选框的表单,它有一个隐藏元素,这样如果用户不加以检查,邮件请求将随之发送表单项:"项目名称" ="" (空白)

但如果选中该复选框,则会发送表单项目:"项目名称" ="是"

<input id="fieldX" name="Item Name" type="checkbox" value="Yes" class=""  >
<input id="fieldHidden" name="Item Name" type="hidden" value="" class=""  >

我使用JS来&#34;禁用&#34;隐藏的dom元素,如果它留空

if(document.getElementById('fieldX').checked) {
document.getElementById('fieldHidden').disabled = true; };

当复选框留空时,一切正常。

但是当我选中复选框时我使用wireshark来分析post数据包时它会在post请求中发送两个输入。

如果选中此复选框,我是如何使用javascript从帖子请求中删除隐藏的dom元素的?

谢谢

1 个答案:

答案 0 :(得分:0)

选中复选框时禁用隐藏输入,取消选中时启用。为了处理这个,请使用更改事件处理程序。

document.getElementById('fieldX').addEventListener('change', function() {
   document.getElementById('fieldHidden').disabled = this.checked; 
});