2016-11-14 7 views
0

ich meine Input Feld wie folgt aussehen wollen:Hinzufügen Onclick-Ereignis zu Eingabefeld programmatisch in Javascript funktioniert nicht

<input type="submit" value="Remove" onclick="deleteRow(this)">

Aber es funktioniert nicht. Ich habe versucht, zu:

Input.onclick = function() { deleteRow(this); };

nicht so gut funktioniert. Meine deleteRow-Funktion sieht so aus:

function deleteRow(o) { 
     var p = o.parentNode.parentNode; 
     p.parentNode.removeChild(p); 
    } 

Irgendwelche Vorschläge, wie es funktioniert?

+0

passieren Hast du es versucht? Input.onclick = function (event) {deleteRow (event.target); }; '? (Ich muss sagen, dass ich nicht gerne das Schlüsselwort 'this' verwende, da es schwer ist zu wissen, auf welches Objekt es sich bezieht) –

Antwort

0

Sie können eine id zu Ihrem input Feld und fügen Sie die onclick Ereignis, um es hinzuzufügen:

function DeleteRow(o) { 
 
    var p = o.parentNode.parentNode; 
 
    p.parentNode.removeChild(p); 
 
} 
 
document.getElementById("myinput").onclick = function() { 
 
    DeleteRow(this); 
 
};
<input type="submit" id="myinput" value="Remove" onclick="DeleteRow(this)">

0

versuchen diese. Wenn Sie keinen Zweck der Einreichung haben, ändern type=submit zu type=button

function DeleteRow(o) { 
 
    var p = o.parentNode.parentNode; 
 
    console.log(p); 
 
    p.parentNode.removeChild(p); 
 
}
<div id="one"> 
 
    <div id="two"> 
 
    Goint to be deleted 
 
    <form id="three"> 
 
     <input type="button" value="Remove" onclick="DeleteRow(this)"> 
 
    </form> 
 
    </div> 
 
</div>

aber wenn Sie type=submit halten müssen, denke ich, sollten Sie Ereignisparameter auch wie folgt

<!-- in case you need to use submit, pass event as parameter--> 
<input type="submit" value="Remove" onclick="DeleteRow(this, event)"> 
Verwandte Themen