Помогите отловить ошибку

L
На сайте с 17.05.2013
Offline
88
293

Есть форма которая проверяется пр отправке:


<div class="f_tit0" style="width:60px" id="icity1">Город:<span>*</span></div>
<div class="f_input">
<input type="text" class="towns1" id="city1" name="city1" value="{$city1}" onFocus="deleteErrorColor(this.value, 'icity1')">
>
............
<input value="Добавить" onClick="return check_goods_form();" type="submit">

<script language="javascript">
function check_goods_form()
{
var errorMessage = '';
var first='';

if (document.getElementById("city1").value=='')
{
document.getElementById("icity1").style.color='#CD130F';
document.getElementById("city1").focus();
errorMessage += 'Вы должны ввести город1.' + '\n';
}
}
function deleteErrorColor(id, obj)
{
document.getElementById(obj).style.color='#333333';
}
</script>

Таккая проблема: когда поле город1 оставляю пустым и отправляю форму, то не краснеет текстовый блок icity1.

Работает нормально, когда в текстовом поле city1 я убираю onFocus="deleteErrorColor(this.value, 'icity1')", тоесть когда он выглядит так:

<input type="text" class="towns1" id="city1" name="city1" value="{$city1}">

Подскажите почему так? В фаербаге ошибок никаких не выдает.. Как найти ошибку?

Станислав
На сайте с 27.12.2009
Offline
242
#1

<div class="f_tit0" style="width:60px" id="icity1">Город:<span>*</span></div> 

<div class="f_input">
<input type="text" class="towns1" id="city1" name="city1" value="">
<input value="Добавить" onClick="return check_goods_form();" type="submit">

<script language="javascript">
function check_goods_form() {
var val = $('#city1').val();
$('#message').remove();
if( ! val) {
$('#icity1').css({
color: 'FF0000'
}).before('<div id="message" style="position: absolute;margin-left: 70px;">Необходимо заполнить поле</div>')
$('#message').animate({
opacity: "toggle"
}, 2000);
}
}
</script>
Мы там, где рады нас видеть.
L
На сайте с 17.05.2013
Offline
88
#2

Круто получилось! Сделал немного по своему так:

$('#icity1').css({

color: '#FF0000' }).before('<div id="message" style="position: absolute;margin:10px 0 0 70px; color:#FF0000">Введите город загрузки</div>');

<input type="text" class="towns1" id="city1" name="city1" onFocus=" $('#message').remove();">

При ошибке на тектстовом поле появлется сообщение об ошибке. Чтобы "зайти в текстовое поле" необходимо кликнуть справа от ошибки или слева. Если кликать по самой ошибки, то фокуса у текст. поля нет. Подскажите как сделать чтобы фокус был

jpg 2.jpg

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий