Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Браузер Explorer не меняет отрибут кнопки (https://javascript.ru/forum/css-html/42795-brauzer-explorer-ne-menyaet-otribut-knopki.html)

strengerst 10.11.2013 12:46

Браузер Explorer не меняет отрибут кнопки
 
Делай через jquery так
if(ohubki.length>0){ $("input[name='start']").attr('type','button');
alert('Обнаруженны ошибки, исправьте их пожалуйста'); $(".ohibki").html(z);} else{$("input[name='start']").attr('type','submit')}

В опере работает нормально, меняет атрибут кнопки на button, если есть ошибки, и на submit если их нет. В Explorer постояно submit. Как исправить. По умолчанию в форме стоит submit.

danik.js 10.11.2013 13:48

Для начала, нужно менять свойство (.prop()), а не атрибут(.attr()).
Если не сработает - пиши.

danik.js 10.11.2013 13:50

Цитата:

Сообщение от strengerst
Делай через jquery так

Ок, уже делаю :dance:

Rise 10.11.2013 14:28

Используйте button вместо input, к input в IE особый подход :)
<button type="submit" name="start">Кнопка</button>
if(ohubki.length > 0){
	$("button[name='start']").attr('type','button');
	alert('Обнаруженны ошибки, исправьте их пожалуйста');
	$(".ohibki").html(z);
} else {
	$("button[name='start']").attr('type','submit');
}

strengerst 10.11.2013 23:30

Большое спасибо за помощь. Очень признателен.

danik.js 11.11.2013 03:53

Блин, точно, с инпутами вобще жопа в IE8. Знал про нерабочую смену с password'а, но не знал что не работает смена type вообще.

ixth 14.11.2013 21:06

Я так понимаю, тебе нужно предотвратить отправку формы? Так зачем так изгаляться, когда можно просто поставить disabled?

Deff 15.11.2013 03:56

Цитата:

Сообщение от strengerst
В опере работает нормально, меняет атрибут кнопки на button, если есть ошибки, и на submit если их нет. В Explorer постояно submit. Как исправить. По умолчанию в форме стоит submit.
if(ohubki.length>0){ $("input[name='start']").attr('type','button');
alert('Обнаруженны ошибки, исправьте их пожалуйста'); $(".ohibki").html(z);} else{$("input[name='start']").attr('type','submit')}


Вариант управляемой кнопки осёл и остальные браузеры

Ставим onclick на эту кнопку( если нельзя прописать сразу при создании страницы)
if(ohubki.length){
 var newSubmit = $("input[name='start']").clone().attr('onclick','return newFunction(this)');
 newSubmit.replaceAll("input[name='start']")
}

Далее анализ в этой функции

function newFunction(newSubm) {
  if(error){
       //Чот делаем
       return false;
  } else {
        //Чот делаем
       return true;
  }
    
}

============================
Ps: Cо смено атрибута на button бывают проблемы, если пользователь ставит разный стиль или ставит ток на input[submit]


Часовой пояс GMT +3, время: 08:26.