2016-03-01 68 views
-1

这个错误是(再次)在不同的论坛讨论了一千次,但我没有找到任何可以帮助我解决我的问题。我有一个表单,一个隐藏字段和一些链接,它们改变了这个字段的值并提交了表单。我检查了很多次。隐藏字段在JavaScript中的值不发布

  • 函数被调用。
  • 该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>

+0

,您是否试图使用jquery这样的形式提交** $( '#形式formid')。提交()** – praveen

+0

是。不用找了。该函数被调用,表单被提交,值缺失。 –

+0

点击不可见图像中的无法显示的图像是否无效?你能提供一个可测试的例子吗? – Qwertiy

回答

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(); 
} 
+0

我也有一个jquery $ .function()函数...现在没有它,并与防止默认,它的作品。谢谢。 –

0

Prooblem在此代码是图像之前链接标记,它发送的浏览器上无处点击提交之前,所以提交不能worki。只需给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>