2016-03-01 38 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>