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

JS:

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


HTML:

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


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

最佳答案

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

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



选项1:毫不干扰地绑定click事件,并阻止默认值:

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:返回假

您可以从onclick事件返回false:

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




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

09-18 20:54