Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2011, 21:43
Новичок на форуме
Отправить личное сообщение для sakutylev Посмотреть профиль Найти все сообщения от sakutylev
 
Регистрация: 06.01.2011
Сообщений: 4

Зависимость полей ввода
Ребят подскажите каким образом можно реализовать
зависимость ввода значения между полями ввода
для ввода диапазона цен
ну т.е. фактически что бы он не давал ввести в первое поле больше значение чем во второе.
заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2011, 01:40
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,597

<div> <input type="text" /> <input type="text" /> </div>
<script type="text/javascript">
i=document.getElementsByTagName('input');
i[0].onkeyup=i[1].onkeyup=i[0].onchange=i[1].onchange=function(){
	if(+i[0].value>+i[1].value){i[0].parentNode.appendChild(i[0]).focus()}
}
</script>

Только так, лол, ибо если не давать вводить в первое поле значение большее чем во второе, то, при условии отсутствия начального значения, в первое поле вообще ничего нельзя будет ввести.
В таких случаях надо дать пользователю самому вбирать как он хочет указывать диапазон: 10-1 или 1-10, и ваша задача как программиста - сделать чтобы было удобно, а не загнать юзера в никому не нужные рамки.

Последний раз редактировалось Aetae, 07.01.2011 в 01:52.
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2011, 12:26
Новичок на форуме
Отправить личное сообщение для sakutylev Посмотреть профиль Найти все сообщения от sakutylev
 
Регистрация: 06.01.2011
Сообщений: 4

Спасибо огромное, очень помогло и действительно очень удобно, а можно присвоить данную функцию не ко всем input а только к определенному классу?
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2011, 13:01
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

<div> <input type="text" class="input" /> <input type="text" class="input" /> </div>
<script type="text/javascript">
i=document.getElementsByClassName('input');
i[0].onkeyup=i[1].onkeyup=i[0].onchange=i[1].onchange=function(){
    if(+i[0].value>+i[1].value){i[0].parentNode.appendChild(i[0]).focus()}
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2011, 16:51
Новичок на форуме
Отправить личное сообщение для sakutylev Посмотреть профиль Найти все сообщения от sakutylev
 
Регистрация: 06.01.2011
Сообщений: 4

а вот так это будет работать?

<div> <input type="text" class="inputbox" onkeyup="function()" onchange="function()"/> <input type="text" class="inputbox" onkeyup="function()" onchange="function()" /> </div>
		<script type="text/javascript">
i=document.getElementsByClassName('inputbox');
i[0].onkeyup=i[1].onkeyup=i[0].onchange=i[1].onchange=function(){
    if(+i[0].value>+i[1].value){i[0].parentNode.appendChild(i[0]).focus()}
}
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2011, 17:07
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Да, но только зачем вам на input заново события прописывать если функция уже делает это?

<div> <input type="text" class="inputbox"/> <input type="text" class="inputbox"/> </div>

<script type="text/javascript">
i = document.getElementsByClassName('inputbox');
i[0].onkeyup = i[1].onkeyup = i[0].onchange = i[1].onchange = function () {
    if (+i[0].value > +i[1].value) {
        i[0].parentNode.appendChild(i[0]).focus()
    }
}
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2011, 17:10
Новичок на форуме
Отправить личное сообщение для sakutylev Посмотреть профиль Найти все сообщения от sakutylev
 
Регистрация: 06.01.2011
Сообщений: 4

Да че-то на пустой страницы код работает, а когда вставляю в модуль к цмс, он перестает работать, может из-за того что к ней уже привязан фреймворк zforms?
<!-- *********************** Free Search *********************** -->

<script type="text/javascript">
i=document.getElementsByClassName('inputbox');
i[0].onkeyup=i[1].onkeyup=i[0].onchange=i[1].onchange=function(){
    if(+i[0].value>+i[1].value){i[0].parentNode.appendChild(i[0]).focus()}
}
</script>

		<fieldset><legend><b><?php echo JText::_('_EA_SRCH_FREE');?></b></legend> 
		<table width="100%" border="0" cellspacing="1" cellpadding="1" text-align="left">	
		<tr class="sectiontableentry1">
			<td width="100%" height="38"><input class="inputbox" type="text" name="searchstring" size="35" maxlength="100" />
			</td>
		</tr>
		<tr class="sectiontableentry1" >
				<dl> <!-- oClassElement -->
		<dt><label for="input-first-name"><?php echo JText::_('_EA_OBJ_PRICE');?></label></dt>
		<dd><input class="inputbox zf zf-number" id="input-number" type="text" name="minvalue" size="9" maxlength="10" onclick="return { oOptions : { bFloat : true, sPlaceHolder : 'min' } }" />&nbsp;-&nbsp;</dd>
		<dd><input class="inputbox zf zf-number" id="input-number" type="text" name="maxvalue" size="9" maxlength="10" onclick="return { oOptions : { bFloat : true, sPlaceHolder : 'max' } }"/>&nbsp;<?php echo $eaconf->ea_currency;?></dd>
				</dl>
		</tr>
			</table>
		</fieldset>


			
		<?php
		}
		if($eaconf->ea_l_srch) {
		?>

Последний раз редактировалось sakutylev, 07.01.2011 в 17:13.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10
Динамические создание полей ввода и заполнение их данными vitasya Events/DOM/Window 2 29.03.2009 23:51
Переход между окнами ввода при заполнении. Бушка Общие вопросы Javascript 4 25.03.2009 15:40
проверка полей формы!!!! DENAT Общие вопросы Javascript 0 05.06.2008 22:14