繁体   English   中英

在JavaScript中以编程方式将onclick事件添加到输入字段不起作用

[英]Adding onclick event to input field programmatically in javascript doesn't work

我希望我的Input字段看起来像这样:

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

但这不起作用。 我试图:

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

效果不佳。 我的deleteRow函数如下所示:

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

关于如何使其工作的任何建议?

您可以在input字段中添加一个id ,并将onclick事件附加到该字段:

 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)"> 

试试这个。 如果您无意提交,请将type=submit更改为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> 

但是如果您需要保持type=submit ,我认为您也应该像这样传递事件参数

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM