当输入类型="0"时;图像";,onclick操作是通过从另一个输入字段中点击回车来触发的

When input type="image", onclick action was triggered by hitting enter from another input field

本文关键字:quot 输入 另一个 字段 回车 类型 图像 操作 onclick      更新时间:2023-09-26

在我的代码中,我制作了一个JavaScript函数,它将从表中删除当前行。然后在HTML中,我将该函数放入一个"input"元素中,该元素将在"onclick"操作中触发该函数。如果我将输入设置为type="button",一切都很好,但如果我将其设置为type="image",如您所见,即使使用"return false;",每当我在同一行的任何输入字段中按enter键时,它都会触发删除功能。

我不知道为什么。

 function deleteRow(r)
{   
var rowLength= document.getElementById("newOrder").rows.length; //get how many rows are in this table
if (rowLength == 2)  //if there are only two rows (including header), then don't allow to delete a row
{
    alert ("At least one row is needed to create an order.");
    return;
} else  //if row number is greater than 2, then delete a row is allowed
{
var i = r.parentNode.parentNode.rowIndex;
document.getElementById("newOrder").deleteRow(i);
}

以下是HTML代码

        <tr>
        <td class="item"><input type="image" onclick="deleteRow(this); return false;" src="img/delete.png" height="20" width="20" alt="delete"><input type="text" class="biginput, item"  ></td>
        <td class="detail"><input class="detail" type="number" ></td>
        <td class="detail"><input class="detail" type="number" ></td>
        </tr>

使用此:演示链接

<form>
    <input id="image" onclick="return deleteRow(this);" type="image" src="img/delete.png" height="20" width="20" alt="delete" />
</form>

使用纯javascript:

function deleteRow(instance) {
    alert("delete");
    return false;
}

使用jquery就像你在帖子中标记jquery一样:

$('#image').click(function(event) {
    event.preventDefault(); // yaa!
alert("delete");
});