|
|
|
| 1) Помоги пожалуйста, написать посредством javascript регулярное выражение разрешающее вводить только цифры в диапазоне от 35 до 100
2) У меня есть select и тег input.
<script>
function c(elem) {
document.getElementById('r')_innerHTML = elem.value;
}
</script>
<select onchange="c(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div id="r"></div>
Подскажите пожалуйста как без перезагрузки страницы сформировать регулярное выражение
которое бы получало значение из select и формировало регулярку (только цифры, в диапазоне от 1 до значения select деленного на 2)
Помогите пожалуйста, к сожалению с javascript и регулярками не работал.
Заранее всем спасибо! | |
|
|
|
|
|
|
|
для: shkarbatov
(23.07.2011 в 23:11)
| | 1) от 35 не возможно, и зачем именно регулярка? (веяние моды?)
2) при работе с JS перезагрузки (обновления) не происходят, если только не редирект
опишите полностью чего вы хотите добиться скриптом, какие задачи, вдруг предложим более оптимальный вариант (мало ли) | |
|
|
|
|
|
|
|
для: f111
(23.07.2011 в 23:36)
| | 1) надо просто разрешить пользователю вводить в поле только числа в диапазоне от 35 до 100
2) У меня есть выпадающее меню, я там выбираю число (к примеру 40), есть еще и тег input, там мне надо проконтролировать пользователя на ввод чисел в тег input, разрешено вводить в диапазоне от 1 до 40/2 (то есть от 1 до выбранного значения в выпадающем списке деленое на 2) | |
|
|
|
|
|
|
|
для: shkarbatov
(23.07.2011 в 23:11)
| | А не проще это значение сравнить с числом? Вы именно регулярными выражениями хотите решить задачу? Вот именно от 35 до 100 довольно затруднительно зажать при помощи регулярных выражений - так как они не значения проверяют, а форму строки... | |
|
|
|
|
|
|
|
для: cheops
(23.07.2011 в 23:43)
| | Нет, можно решить не только регуляркой. Мне надо сделать проверку, что бы пользователю было разрешено вводить в поле только числа в диапазоне от 35 до 100 | |
|
|
|
|
|
|
|
для: shkarbatov
(23.07.2011 в 23:56)
| | if(x>35 && x<100) - не "канает" уже? | |
|
|
|
|
|
|
|
для: f111
(24.07.2011 в 00:02)
| | А на примере можно?
Как занести в переменную значение тега? | |
|
|
|
|
|
|
|
для: shkarbatov
(23.07.2011 в 23:56)
| | Можно начать отталкиваться от следующего скрипта
<script>
function c(elem) {
var r = document.getElementById('r');
if(elem.value >= 35 && elem.value <= 100)
r.innerHTML = elem.value;
else
r.innerHTML = "Введите значение от 35 до 100";
}
</script>
<input id="id_text" onkeyup="c(this)" />
<div id="r"></div>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.07.2011 в 00:06)
| | Оперативненько, спасибо. Сейчас попробую.
А как потом работать с этим значением, как его засунуть к примеру в POST массив? | |
|
|
|
|
|
|
|
для: shkarbatov
(24.07.2011 в 00:08)
| | >А на примере можно?
это уже пример
>Как занести в переменную значение тега?
смотря какого тега, если инпут то document.getElementById('input_id').value
если селект то option_select = this.options[this.selectedIndex].value; (хотя могу ошибаться, давно не ковырялся)
--------------
function sel(t){
var input_val = document.getElementById('input_id').value;
var option_select = t.options[t.selectedIndex].value;
//вроде так
//а тут хз, не понимаю что за вычисления вам нужны, туповат я(
}
<select onchange="sel(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
|
------------------
>А как потом работать с этим значением, как его засунуть к примеру в POST массив?
отправьте форму | |
|
|
|
|
|
|
|
для: f111
(24.07.2011 в 00:23)
| | На счет первого - вопрос я написал до того как появился пример =) тогда то я и дописал фразу оперативненько.
На счет отправки формы - эт я просто затупил =)
Как занести вытянутое значение в переменную понятно, а как потом его добавить в проверку тега input? Так?
<script>
function c(elem) {
var r = document.getElementById('r');
if(elem.value >= 35 && elem.value <= (option_select/2))
r.innerHTML = elem.value;
else
r.innerHTML = "Введите значение от 35 до 100";
}
</script>
<input id="id_text" onkeyup="c(this)" />
<div id="r"></div> | |
|
|
|
|
|
|
|
для: shkarbatov
(24.07.2011 в 00:29)
| | тип того.
используйте метод тыка, гениальная разработка учёных, всегда помогает, ну а если нет, тогда форум)) | |
|
|
|
|
|
|
|
для: f111
(24.07.2011 в 00:36)
| | Спасибо большое - пошел тыкать =) | |
|
|
|
|
|
|
|
для: f111
(24.07.2011 в 00:36)
| | Что-то туплю (трудновато тыкать, когда ты и понятия не имеешь куда именно тыкать =))
<script>
function sel(t){
var input_val = document.getElementById('input_id').value;
var option_select = t.options[t.selectedIndex].value;
}
</script>
<select onchange="sel(this)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
function c(elem) {
var r = document.getElementById('r');
if(elem.value >= 35 && elem.value <= (option_select/2))
r.innerHTML = elem.value;
else
r.innerHTML = "Введите значение от 35 до 100";
document.write(option_select);
}
</script>
<input id="id_text" onkeyup="c(this)" />
<div id="r"></div> | |
|
|
|
|
|
|
|
для: shkarbatov
(24.07.2011 в 00:53)
| | >трудновато тыкать, когда ты и понятия не имеешь куда именно тыкать =)
книжки читайте, все так учились
наверно так
<script type="text/javascript">
function c(elem)
{
var r = document.getElementById('r');
var sel = document.getElementById('sel');
sel = parseInt(sel.options[sel.selectedIndex].value);
elem = parseInt(elem.value);
if(elem>=35 && elem<Math.round(sel/2))
r.innerHTML = elem;
else
r.innerHTML = "Введите значение от 35 до 100";
}
</script>
<select id="sel">
<option value="1">1</option>
<option value="2">2</option>
<option value="100">100</option>
</select>
<input onkeyup="c(this)" />
<div id="r"></div>
|
что не понятно спрашивайте | |
|
|
|
|
|
|
|
для: f111
(24.07.2011 в 12:05)
| | Именно то, что надо! Только round сменил на floor.
А так именно то, что надо. Спасибо большое!
А на счет возможности ввода только цифр в заданном диапазоне, может кому-то пригодиться:
<script>
function fat(elem) {
var f = document.getElementById('f');
elem.value = elem.value.replace(/[^\d]/g, '');
if(elem.value >= 35 && elem.value <= 120)
f.innerHTML = "";
else
f.innerHTML = "Введите значение от 35 до 100";
}
</script>
<p class="type1">
<input name="fat_" onkeyup="fat(this)"/> Толщина пакета, мкм
<div id="f"></div>
</p> | |
|
|
|