2013-12-12 22 views
0

我試圖創建刪除使用JavaScript的表單元素。當我刪除一個元素時,它將刪除最頂層的元素。我試圖刪除一個特定的元素。這是一個鏈接到頁面,下面是代碼。任何幫助將不勝感激,謝謝! http://training.cvrc.virginia.edu/test.html使用javascript刪除特定的表單元素

<script type="text/javascript"> 
var patient = 0; 
function add_patient() { 
patient++; 
    var add= document.createElement('patientdiv'); 
    add.innerHTML += "<div id=removepatient></br>Patient "+patient+" Name/ID:<input type=text name=patients[] ><input type=button id=more_fields onclick=removepatient(); value='Remove' ></div>"; 
    document.getElementById('patientdiv').appendChild(add); 
    return false; 
} 

function removepatient() { 
    var elem = document.getElementById('removepatient'); 
    elem.parentNode.removeChild(elem); 
    return false; 
} 
</script> 


<div id=patientdiv></div> 
<input type=button id=more_fields onclick=add_patient(); value='Add Patient'></br></br> 
+1

的ID都是唯一的。 – adeneo

回答

0

你應該爲你生成要添加到頁面中的每個元素的唯一的ID。 每次添加元素時,都可以使用變量並增加此變量。在你的例子中,變量「病人」就足夠了。

add.innerHTML += "<div id=removepatient_"+patient"></br>Patient "+patient+" Name/ID:<input type=text name=patients[] ><input type=button id=more_fields"+patient+" onclick=removepatient("+patient+"); value='Remove' ></div>"; 

您還必須添加一個參數去你刪除功能:

function removepatient(patient) { 
    var elem = document.getElementById('removepatient_'+patient); 
    elem.parentNode.removeChild(elem); 
    return false; 
} 

我希望它能幫助你

+0

謝謝!這工作完美! –