|
|
|
|
for (var i = 100; i <= 210; i++)
{
question2 = $('#v_'+i).val();
if ((question2.length)>3) { alert('wwwwwwwww');} else {error_msg += '- Вид деятельности'; return_value = false; break; }
}
|
Причем, этот кусок кода пропускает форму даже, если другие поля не заполнены... как бы нарушает js обработку | |
|
|
|
|
|
|
|
для: OLi
(16.04.2011 в 23:50)
| | А что храниться в элементах управления с id='v_100' и т.д. и какого типа это элементы управления? | |
|
|
|
|
|
|
|
для: cheops
(17.04.2011 в 08:59)
| | Это input с текстом или без...input type=text | |
|
|
|
|
|
|
|
для: OLi
(17.04.2011 в 12:10)
| | Значение в return_value не может перезатираться? Т.е. нет нигде явного назначения true переменной return_value? | |
|
|
|
|
|
|
|
для: cheops
(17.04.2011 в 12:14)
| | Даю полный скрипт:
function check(){
var pattern = /^$/;
var error_msg = "";
var return_value = true;
var name = $('#name_f').val()
if(name.match(pattern))
{
error_msg += '*** О ПРЕДПРИЯТИИ ***\nВы не заполнили\n\n - Название фирмы\n';
return_value = false;
}
var question = $('#forma').val()
if(question.match(pattern))
{
error_msg += '- Форма собственности\n\n\n';
return_value = false;
}
var question = $('#tel').val()
if(question.match(pattern))
{
error_msg += '*** АДРЕС И ВИДЫ ДЕЯТЕЛЬНОСТИ ***\n Вы не заполнили\n\n- Телефоны/ Факс (Можно указать 1 № телефона)\n';
return_value = false;
}
var question = $('#for_city').val()
if(question==0)
{
error_msg += '- Населенный пункт\n';
return_value = false;
}
else {
if ((question==3) || (question==4) || (question==5) || (question==6)|| (question==8)){
var question = $('#pos_selo').val()
if(question.match(pattern))
{
error_msg += '- Название Города/Села\n';
return_value = false;
}
}
}
var question = $('#nedelis').val()
if(question==0)
{
error_msg += '- ПОЛНЫЕ рабочие дни\n';
return_value = false;
}
var question = $('#street').val()
if(question.match(pattern))
{
error_msg += '- Улица\n';
return_value = false;
}
var question = $('#house').val()
if(question.match(pattern))
{
error_msg += '- Дом';
return_value = false;
}
for (var i = 100; i <= 210; i++)
{
question2 = $('#v_'+i).val();
if ((question2.length)>3) { alert('wwwwwwwww');} else {error_msg += '- Вид деятельности'; break; return_value = false; }
}
if(!return_value)
alert(error_msg);
return return_value;
return true;
}
</script>
|
| |
|
|
|
|
|
|
|
для: OLi
(17.04.2011 в 12:20)
| | А как себя ведет функция? Всегда возвращает true (ошибки в синтаксисе нет)? | |
|
|
|
|
|
|
|
для: cheops
(17.04.2011 в 12:36)
| | Если убрать цикл из скрипта, то все хорошо проходит, скрипт возвращает false если поля не заполнены и true если да.
Может быть не срабатывает потому что таких элементов нету? Т-е они у меня входят в интервал цикла, но скажем v_154 может и не быть на странице | |
|
|
|
|
|
|
|
для: OLi
(17.04.2011 в 12:43)
| | Ребята, неужели никто не знает? | |
|
|
|
|
|
|
|
для: OLi
(17.04.2011 в 12:43)
| | Попробуйте сначала проверять question2 при помощи if(question2), а потом уже манипулируйте им. | |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 00:28)
| | Сделал так:
for (var i = 100; i <= 210; i++)
{
var tmp = document.getElementById('v_'+i);
alert(tmp.value);
if (tmp.value= null && tmp.value.length<2) {error_msg += '- Вид деятельности'; return_value = false;break; }
}
|
Тоже пока безрезультатно, попробую как вы написали... | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 00:56)
| | Не получается проверить потому как скрипт пропускает форму... т-е не срабатывает это:
for (var i = 100; i <= 210; i++)
{
question2 = $('#v_'+i).val();
if(question2) { alert(question2);return_value = false; }
if ((question2.length)>3) { alert('wwwwwwwww');} else {error_msg += '- Вид деятельности'; break; return_value = false; }
}
|
Ничего не выводит... и другие поля тоже пропускает пустые | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 00:58)
| | Попробуйте отладить скрипт на меньшем диапазоне, скажем от 100 до 102, потом увеличивайте интервал, чтобы локализовать проблему. | |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 01:33)
| | ничего не выводит ...уже максимально упростил
for (var i = 100; i <= 105; i++)
{
question2 = $('#v_'+i).val();
if(question2) { alert(question2); return_value = false; }
} | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 01:52)
| | упростите до
for (var i = 100; i <= 105; i++)
{
alert($('#v_'+i).val())
} | |
|
|
|
|
|
|
|
для: AlexSol
(18.04.2011 в 08:24)
| | Алерт пишет undefined все 5 раз | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 12:39)
| | Прикрепите форму, если не сложно. | |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 13:17)
| | Форма генерится php, приведу лишь кусок кода:
<div onclick="tree_toggle(arguments[0])" style="text-align:left; margin-left:10px">
<ul class="Container">
<li class="Node IsRoot IsLast ExpandOpen">
<div class="Expand"></div>
<div class="Content"><strong>Транспорт и перевозки</strong></div>
<ul class="Container"> <li class="Node ExpandLeaf IsLast">
<div class="Expand"></div>
<div class="Content"><a onclick="document.getElementById('addcat5').style.display='block';document.getElementById('cat15').value = '5';document.getElementById('pod_cat12').value = '2';
return goTo('#aaa');
" href="#aaa">Автосервисы</a> <span id="addcat5" style="display:none"><span>Введите текст </span><input type="text" style="width:400px" id="v_2" name="v_2"><input type="hidden" id="cat15" name="cat1[]" value="0"><input type="hidden" id="pod_cat12" name="pod_cat1[]" value="0"></span></div>
</li> <li class="Node ExpandLeaf IsLast">
<div class="Expand"></div>
<div class="Content"><a onclick="document.getElementById('addcat4').style.display='block';document.getElementById('cat15').value = '5';document.getElementById('pod_cat11').value = '1';
return goTo('#aaa');
" href="#aaa">Автомагазины и автосалоны </a> <span id="addcat4" style="display:none"><span>Введите текст </span><input type="text" style="width:400px" id="v_1" name="v_1"><input type="hidden" id="cat15" name="cat1[]" value="0"><input type="hidden" id="pod_cat11" name="pod_cat1[]" value="0"></span></div>
</li>
</div>
|
Дело в том что у меня элементов с id=v_123 может и не быть и тд.... я взял такой диапазон чтоб точно попасть | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 13:32)
| | Проверяйте тогда существование элемента с нужным идентификатором по схеме, которая приводится ниже
<html>
<head>
<title>jQuery</title>
<link href="css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js" ></script>
<script type="text/javascript">
$(document).ready(function(){
var obj = $('#v_100').val();
if(typeof(obj) == 'undefined') alert("Переменной нет");
else alert("Переменная есть");
});
</script>
</head>
<body>
<div id='v_1'>Hello world!</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 14:17)
| | Помогло, - теперь проверяет на сущ такого id, вот что сделал:
for (var i = 0; i <= 200; i++)
{
var obj = $('#v_'+i).val();
if(typeof(obj) == 'undefined') {alert('no');}
else {
if (obj.value= null || obj.value.length<2) {error_msg += '- Вид деятельности'; return_value = false;}
}
}
|
НО ....
Выводит alert , а потом пропускает всю форму на отправку
Не срабатывает return_value = false; | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 15:28)
| | . | |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 15:41)
| | Может браузер так интерпретирует код? | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 15:28)
| | >Выводит alert , а потом пропускает всю форму на отправку
alert() какой выводит? С error_msg?
PS Вы при вызове обработчика в кнопке используете ключевое слово return (в 98% случаев из-за этого форма отправки срабатывает при наличии ошибок)? | |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 22:46)
| | без error_msc
использую return - всегда срабатывает на проверку незаполненных полей | |
|
|
|
|
|
|
|
для: OLi
(18.04.2011 в 23:26)
| | Т.е. срабатывает alert('no');? | |
|
|
|