Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2013, 12:46
Аватар для strengerst
Аспирант
Отправить личное сообщение для strengerst Посмотреть профиль Найти все сообщения от strengerst
 
Регистрация: 03.02.2012
Сообщений: 82

Браузер 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.
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2013, 13:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Для начала, нужно менять свойство (.prop()), а не атрибут(.attr()).
Если не сработает - пиши.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2013, 13:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от strengerst
Делай через jquery так
Ок, уже делаю
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2013, 14:28
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Используйте 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');
}

Последний раз редактировалось Rise, 10.11.2013 в 14:34.
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2013, 23:30
Аватар для strengerst
Аспирант
Отправить личное сообщение для strengerst Посмотреть профиль Найти все сообщения от strengerst
 
Регистрация: 03.02.2012
Сообщений: 82

Большое спасибо за помощь. Очень признателен.
Ответить с цитированием
  #6 (permalink)  
Старый 11.11.2013, 03:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Блин, точно, с инпутами вобще жопа в IE8. Знал про нерабочую смену с password'а, но не знал что не работает смена type вообще.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 14.11.2013, 21:06
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Я так понимаю, тебе нужно предотвратить отправку формы? Так зачем так изгаляться, когда можно просто поставить disabled?
Ответить с цитированием
  #8 (permalink)  
Старый 15.11.2013, 03:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от 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]

Последний раз редактировалось Deff, 15.11.2013 в 04:06.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск