1

我目前有一个按钮,当单击它时,它会将该按钮 id 传递给一个函数,并且该函数会提醒这个 id 名称。现在警报显示正确的名称,但是当我在警报上单击“确定”时,它会将我带回主页。这是代码:

JS:

function ButtonPicture(id)
{
    alert(id);
}

HTML:

<input type="submit" onclick="ButtonPicture(this.id);" id="car1" value="Take Picture">

我不确定为什么会发生这种情况以及如何防止这种情况

4

1 回答 1

2

您已将函数附加到提交输入元素。默认情况下,当您单击提交按钮时,浏览器将提交附加的表单,该表单会将页面重定向到表单指定的操作。如果未指定任何操作,它将重定向到当前页面。

您需要在此处阻止默认操作。你有很多选择,但我在下面提出了两个常见的选择:


选项1:不显眼地绑定点击事件,并防止默认:

jQuery

$(document).ready(function() {
    $("#car1").click(function(e) {
        e.preventDefault();
        ButtonPicture(this.id);
    });
});

$(document).ready(function() { });注意:如果将此代码放在文档中的输入元素之后,则无需将其包装起来。

HTML

<input type="submit" id="car1" value="Take Picture">

选项 2:返回 false

您可以从onclick事件中返回 false:

<input type="submit" onclick="ButtonPicture(this.id); return false;" id="car1" value="Take Picture">

我个人的偏好和建议是选项 1

于 2013-09-12T19:51:31.780 回答