2012-03-07 43 views
1

之前,我有一個頁面,我刪除圖標添加到特定格式的文本字段:清空輸入字段刪除瓦特/ jQuery的

$(this).parent().append(\'<span class="remove" onclick="$(this).parent().remove(); return false"><span class="delete"></span></span>\'); 

,我得到

<div> 
    <input type="text"><span class="remove" onclick="$(this).parent().remove(); return false"><span class="delete"></span></span> 
</div> 

它工作正常,但是當我提交表格「我刪除」的字段仍然發佈信息。我認爲他們仍然在DOM中,只是不顯示。但是,如果我手動清除輸入字段,然後提交 - 顯然不會發布數據。如何在remove()之前清空文本字段?

+0

爲什麼兩個跨越(刪除和刪除)?另外,你有沒有嘗試使用.empty()而不是.remove()? – j08691 2012-03-07 17:42:12

+1

'$(this).parent()。find('input')。val('')。end()。remove();' – Orbling 2012-03-07 17:42:44

+0

最簡單的解決方法是不要使用「按鈕」輸入。可以是你想要的任何標籤,而不是表單元素 – charlietfl 2012-03-07 17:44:20

回答

0

當一個表單提交有一定的要求,只有擁有「NAME」屬性設置將被髮送的輸入。

所以,如果你做$(this).before().removeAttr('name'); $(this).parent().remove();輸入的內容將不會被髮送..

但是,如果輸入的是一個形式的孩子,當它通過jQuery.remove刪除,它是不是在未來的形式發送請求,像這樣jsFiddle顯示

0

而不是.val()使用.attr('value', '')並使字段Disabled以防止在該字段上提交。試試這個:

$(this).parent().find('input:text').attr({value: '', disabled : true}).remove();