如何修复这个IE6输入错误

时间:2010-06-18 03:20:32

标签: javascript internet-explorer-6

var check = function(){
   return false;
}
var submit = document.createElement("input");
submit.type = "image";
submit.src = "submit1.gif";
submit.onclick = check;
_submitSpan.appendChild(submit);

我创建了一个表单并附加了一个输入按钮,但我发现它无法在IE6中工作,当单击按钮时,表单自动提交。任何人都可以帮助我。谢谢你。

4 个答案:

答案 0 :(得分:1)

挂钩到第三方库以处理事件不一致可能是个主意,等等,YUI做得很好,就像jquery一样。

答案 1 :(得分:1)

不是显式设置onclick属性,而是尝试动态绑定到节点的onclick事件。或许您应该查看表单的onsubmit事件。

function bindEvent(target, event, handler) {
    if (typeof target.addEventListener != 'undefined') {      
        target.addEventListener(event, handler, false);
    } else if (typeof target.attachEvent != 'undefined') {
        target.attachEvent('on' + event, handler); 
    } 
}


function check(e) {
   // Cancel W3 DOM events
   if (typeof e.preventDefault != 'undefined') {
        e.preventDefault();
   }
   // Cancel for old IE event model
   e.returnValue = false;

   return false;
}

var submit = document.createElement("input");
submit.type = "image";
submit.src = "submit1.gif";

_submitSpan.appendChild(submit);

// Bind click event to submit button...
bindEvent(submit, 'click', check);

// ...or perhaps you want to bind submit event to form
bindEvent(submit.form, 'submit', check);

答案 2 :(得分:0)

对于IE,您可能必须使用addAttribute方法而不是.onclick()

submit.addAttribute('onclick', check);

答案 3 :(得分:0)

来自W3C HTML 4.01 Specs

图片

  

创建图形提交按钮。 src属性的值指定将装饰按钮的>图像的URI。出于可访问性原因,作者应通过alt属性为图像提供>替代文本。

请勿使用<input type="image">之类的复选框。制作图像复选框的最佳方法是:

<label for="input">
<input id="input" style="display:none;" type="checkbox">
<img src="img.gif" alt="Check">
</label>

标签会将图像视为复选框,并在单击图像时自动选中隐藏的复选框。