как исправить эту ошибку ввода IE6 - PullRequest
0 голосов
/ 18 июня 2010
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 ]

1 голос
/ 18 июня 2010

Вместо явной установки атрибута 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);
1 голос
/ 18 июня 2010

Это может быть идея подключить стороннюю библиотеку для обработки несоответствий событий и т. Д. YUI отлично работает, как и jquery.

0 голосов
/ 18 июня 2010

С W3C HTML 4.01 Характеристики :

изображение

Создает графическую кнопку отправки. Значение атрибута src указывает URI изображения>, которое будет украшать кнопку. Из соображений доступности авторы должны предоставить> альтернативный текст для изображения с помощью атрибута alt.

Не используйте <input type="image"> как флажок. Лучший способ сделать изображение-флажок - это что-то вроде:

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

Метка будет обрабатывать изображение как флажок и автоматически устанавливать скрытый флажок, если по изображению щелкнуть.

0 голосов
/ 18 июня 2010

Для IE вам, возможно, придется использовать метод addAttribute вместо .onclick ()

submit.addAttribute('onclick', check);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...