我有一些JavaScript,应该将display属性从none更改为block。发生的情况是它在屏幕上闪烁,然后在半秒钟后消失。

<input type="image" src="images/joinButton.jpg" name="join" value="Join" onclick="check(this.form)" />

function check(form){
        var errorFields = document.getElementById('errorFields');
        errorFields.style.display = 'block';
}

最佳答案

这可能是正在发生的事情:

  • 点击的图片
  • 样式已更改
  • 表格提交
  • 页面重新加载了原始样式

  • 如果您不希望表单提交,则需要从事件处理程序返回false来取消图像映射的正常操作。
    onclick="return check(this.form)"
    
    
    function check(form){
        var errorFields = document.getElementById('errorFields');
        errorFields.style.display = 'block';
        return false;
    }
    

    不过,最好使用unobtrusive JS并用表单的Submit事件替换图像映射的click事件。

    09-25 17:42