2012-03-07 3 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

2 개의 스팬 (삭제 및 삭제)이 필요한 이유는 무엇입니까? 또한, 대신 .empty() 또는 .remove()를 사용해 보셨습니까? – j08691

+1

'$ (this)) .parent(). find ('input') .Val (''). end(). remove(); ' – Orbling

+0

가장 간단한 해결책은 "button"에 대한 입력을 사용하지 않는 것입니다. 양식 요소가 아닌 원하는 태그가 될 수 있습니다. – charlietfl

답변

0

일반적으로 당신은 빈 문자열로 setting their values에 의해 입력을 비울 것 :

$('input:text').val('') 
0

을 한 형태 "이름"세트가 전송됩니다 속성에만 입력을 몇 가지 요청을 제출합니다. 당신이 $(this).before().removeAttr('name'); $(this).parent().remove();을 할 경우가 jQuery.remove을 통해 제거 될 때 입력 폼의 아이 인 경우

그래서, 입력 내용이 ..

를 전송하지만되지 않습니다, 그것은 미래의 형태로 전송되지 않습니다 이와 같이 요청하면 jsFiddle이 표시됩니다.

0

.val() 대신 .attr('value', '')을 사용하고 해당 입력란에 제출하지 못하도록하려면 사용 안 함으로 설정하십시오. 다음 중 하나를 시도해보십시오.

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