Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2020, 18:53
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Не очищается поле в input
Здравствуйте.
Столкнулся с такой проблемой: Есть раскрывающийся блок с полем для email (это поле должно быть обязательно заполненным - и по умолчанию оно уже заполнено), когда блок раскрывается - input должен очищаться, если закрывается - должен опять возвращать значение по умолчанию. Код:
<div class="regblock">
	<div id="emailfield" class="form-group input-parent" style="display: none;">
		<input type="email" id="email" name="email" value="user@site.ru">
		<span class="fake-placeholder">Ваш Email (необходим для регистрации) <span>*</span></span>
	</div>
    <div class="agreement form-group input-parent">
		<label for="group" class="form-label grouplabel">
			<input class="form-checkbox form-control dop-section__item-input" type="checkbox" name="group" id="group" value="on">			
			<span class="custom-checkbox"></span>        
			Да, зарегистрировать меня на этом сайте
		</label>        
	</div> 
</div>
<script>
$('.grouplabel').click(function () { 
var chbox=document.getElementById('group');
var email=document.getElementById('email');
	if (chbox.checked) {
	        email.value = '';
		$('#emailfield').slideDown();
	}
	else {
		email.value = 'user2@site.ru';
		$('#emailfield').slideUp();
	}			
});	
</script>

Насколько я вижу (если подставляю в скрипт alert ( email.value; ) ), само значение value меняется, но в поле инпута все остается по старому (т.е. визуально отображается первоначальное значение "user@site.ru").
Подобный код на другом сайте у меня срабатывает как нужно.
В чем может быть подвох?
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2020, 19:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Igorsrt
поле должно быть обязательно заполненным - и по умолчанию оно уже заполнено
Чьим же мылом оно заполнено если речь идет о регистрации?
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2020, 20:42
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

это MODX компонент minishop - там обязательно при оформлении заказа указывать e-mail, поэтому если покупатель его не указывает, то мы генерим его сами...
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2020, 20:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Igorsrt
если покупатель его не указывает, то мы генерим его сами...
Чей, на деревню дедушке?
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2020, 21:03
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от laimas Посмотреть сообщение
Чей, на деревню дедушке?
да, в minishop создается новый пользователь с несуществующим e-mail (так устроен этот компонент, ничего не поделаешь)... но вопрос был про другое?
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2020, 21:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Дожили до маразма. Почта для того чтобы ее отправлять, и если она отправляется на адреса выдуманные программно, то рано или поздно домен, от имени которого она отправляется, попадет в черный список и его почта вообще будет заблокирована. Наверное не "формируется", а существующий либо администратора или ...?

А насчет скрипта, в чем проблема, почему вы решили, что не изменяется значение при вводе? Смотрите на html-код в отладчике? Так в нем ничего и не произойдет.
Ответить с цитированием
  #7 (permalink)  
Старый 01.10.2020, 22:02
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от laimas Посмотреть сообщение
А насчет скрипта, в чем проблема, почему вы решили, что не изменяется значение при вводе? Смотрите на html-код в отладчике? Так в нем ничего и не произойдет.
В том-то и дело, что само значение value в инпуте изменяется, но визуально на странице в поле input отображается старое значение - а это не красиво
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2020, 22:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<div class="regblock">
	<div id="emailfield" class="form-group input-parent" style="display: none;">
		<input type="email" id="email" name="email" value="user@site.ru">
		<span class="fake-placeholder">Ваш Email (необходим для регистрации) <span>*</span></span>
	</div>
    <div class="agreement form-group input-parent">
		<label for="group" class="form-label grouplabel">
			<input class="form-checkbox form-control dop-section__item-input" type="checkbox" name="group" id="group" value="on">			
			<span class="custom-checkbox"></span>        
			Да, зарегистрировать меня на этом сайте
		</label>        
	</div> 
</div>
<button>GO</button>
<script>
$('.grouplabel').click(function () { 
var chbox=document.getElementById('group');
var email=document.getElementById('email');
	if (chbox.checked) {
	        email.value = '';
		$('#emailfield').slideDown();
	}
	else {
		email.value = 'user2@site.ru';
		$('#emailfield').slideUp();
	}			
});
$('button').click(function() {
    alert(email.value)
})	
</script>
</body>
</html>


Отметить флажок, ввести значение, в чем "визуальная проблема"? Нажать кнопку. Где и какие проблемы?
Ответить с цитированием
  #9 (permalink)  
Старый 01.10.2020, 22:11
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Всякие классы form-group, input-parent, fake-placeholder... - это ваши или minishop? Если там какой то феймворк, то хрен его знает, как это работает у них. Тут надо в отладчике именно html кода смотреть, где какие тексты вставлены.
Ответить с цитированием
  #10 (permalink)  
Старый 01.10.2020, 22:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

voraa, бьюсь об заклад, что он все-таки путает атрибут со свойством. )
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить текст в поле input и записать его в value? firsmember Элементы интерфейса 26 17.04.2022 19:33
Можно ли при помощи input masked разрешить только цифры в поле input? Nice Общие вопросы Javascript 6 08.08.2020 12:29
перемещение содержимого из поля input в другое поле input при помощи нажатия на кнопк scrapmetal Events/DOM/Window 3 22.03.2015 20:45
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03