JavaScript中的隐藏字段值未发布

时间:2016-03-01 14:37:38

标签: javascript html forms hidden-field

这个错误(再次)在不同论坛上讨论过一千次,但我找不到任何可以帮助我解决问题的错误。我有一个表单,一个隐藏字段和一些链接,可以更改此字段的值并提交表单。我多次检查过。

  • 调用该函数。
  • 将ID转移到该功能。
  • 可以访问隐藏字段。
  • 隐藏字段的值可以更改。
  • 被叫网站没有隐藏字段的值。
  • 如果我使用提交按钮而不是onclick="DeleteEvent(someValue)",则该值会转移到被叫网站...所以它是隐藏字段...
不知怎的......有人知道它可能是什么? 提交作品,href不是......
或者它可能是div的问题?

源代码:



function DeleteEvent(id){
  var hiddenId = document.getElementById('hiddenIdField');
  hiddenId.value = id;
  document.forms['deleteForm'].submit();
}

<form action="" method="post" name="deleteForm">
  <input type="hidden" id="hiddenIdField" name="hiddenField" value="testy" />
  <div style="display: none" id="divText18">
    <br />
    <a href="" onclick="DeleteEvent(18)">
      <img src="images/delete.jpg"/>
    </a>
  </div>
<!-- 
  this is the working part:
  <input type="submit" onclick="DeleteEvent(18)" /> 
-->
</form>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

由于有效的链接事件,您的表单无效。 对event.preventDefault()个事件使用onclick。 要解析函数中的事件,需要将其发送到函数。

<form action="" method="post" name="deleteForm">
  <input type="hidden" id="hiddenIdField" name="hiddenField" value="testy" />
  <div style="display: none" id="divText18">
    <br />
    <a href="" onclick="DeleteEvent(18,event)">
      <img src="images/delete.jpg"/>
    </a>
  </div>
<!-- 
  this is the working part:
  <input type="submit" onclick="DeleteEvent(18)" /> 
-->
</form>
function DeleteEvent(id,event){
  event.preventDefault();
  var hiddenId = document.getElementById('hiddenIdField');
  hiddenId.value = id;
  document.forms['deleteForm'].submit();
}

答案 1 :(得分:0)

此代码中的问题是图像之前的链接标记,它在提交之前发送浏览器无处点击,因此提交无法正常工作。只需给onclick事件图像或给“javascript:;”作为href保持浏览器在页面上。

function DeleteEvent(id){
  var hiddenId = document.getElementById('hiddenIdField');
  hiddenId.value = id;
  document.getElementById("deleteForm").submit();
}
<form action="" method="POST" id="deleteForm">
  <input type="text" id="hiddenIdField" name="hiddenField" value="testy" />
</form>
<div style="display: inline" id="divText18">
    <img src="images/delete.jpg" style="cursor: pointer;" onclick="DeleteEvent(18)" />
</div>

但如果您必须将其与href一起使用,请将其保留在页面上

<a href="javascript:;" onclick="DeleteEvent(18)">
  <img src="images/delete.jpg />
</a>