|
|
|
|
|
для: sim5
(14.11.2008 в 17:06)
| | РАБОТАЕТ!!! спасибо и за код и за терпение!
может будем на ты? | |
|
|
|
|
|
|
|
для: ronin
(14.11.2008 в 16:19)
| |
<script>
function sender(a,b,c) {
if (a*1 || b*1 || c*1 && myform.url.value) return true;
else {
var err = "";
if (!myform.url.value) err += "Введите Ваш урл с ссылкой этого каталога!\n";
if (!(a*1 + b*1 + c*1)) err += "Вы чего-то там не выбрали";
alert(err);
return false;
}
}
</script>
<form name="myform" action="кому-то.php" onsubmit="return sender(this.s1.value, this.s2.value, this.s3.value)">
<select name="s1">
<option value="0" SELECTED>Select...</option>
<option value="1">11111</option>
<option value="2">22222</option>
</select>
<select name="s2">
<option value="0" SELECTED>Select...</option>
<option value="1">11111</option>
<option value="2">22222</option>
</select>
<select name="s3">
<option value="0" SELECTED>Select...</option>
<option value="1">11111</option>
<option value="2">22222</option>
</select><br>
<input type="text" name="url"><br>
<input type="submit" value="Send">
</form>
|
Если вы скажите, что это не работает, я вам не поверю. | |
|
|
|
|
|
|
|
для: sim5
(14.11.2008 в 15:02)
| | не получается! вообще ничего не работает, даже селекты, которые перед этим работали. может где то нужно добавить | |
|
|
|
|
|
|
|
для: ronin
(14.11.2008 в 13:38)
| | Скорее, я просто забыл удалить закрывающую скобку, не нужны они в данном случае.
Можно обратиться к элементу формуы по именя_формы.имя_поля.значние_поля. Можно обратиться по индексу, можно по id поля. Например:
function sender(a,b,c) {
if (a*1 || b*1 || c*1 && theForm.url.value) return true;
else {
var err = "";
if (!theForm.url.value) err += "Введите Ваш урл с ссылкой этого каталога!\n";
if (!(a*1 + b*1 + c*1)) err += "Вы чего-то там не выбрали";
alert(err);
return false;
}
}
|
| |
|
|
|
|
|
|
|
для: sim5
(14.11.2008 в 13:21)
| | спасибо! маленькая поправка:
function sender(a,b,c) {
if (a*1 || b*1 || c*1) {
return true;
} else {
alert("Не выбрано");
return false;
}
}
|
открывающая фигурная скопка после if (a*1 || b*1 || c*1) у Вас пропущена.
А так работает, БОЛЬШОЕ СПАСИБО!!!
еще вопрос: как туда вставить проверку на заполняймость одного поля
типа:
if (theForm.url.value ==" ")
{
alert("введите Ваш урл с ссылкой этого каталога!");
theForm.url.focus();
return (false);
}
|
| |
|
|
|
|
|
|
|
для: ronin
(14.11.2008 в 12:58)
| | Так чего же вы хотите? Значение опшенов, это строкое значение и у вас у первых оно равно 0, но не числу, а строке, а значит не равно false, поэтому у вас и происходит такое. Хотите с нулем для первых опшенов, тогда можно переписать так проверку, например:
function sender(a,b,c) {
if (a*1 || b*1 || c*1) return true;
} else {
alert("Не выбрано");
return false;
}
}
|
| |
|
|
|
|
|
|
|
для: sim5
(14.11.2008 в 12:17)
| | да, и меня терзают смутные сомненья на счет селектов, привожу код одного из них:
<?php
$query = "SELECT * FROM active ORDER BY name";
$tbl = mysql_query($query);
echo "<select class='input' type='text' name='act'>";
echo "<option value='0'>Выберите активный отдых</option>";
while($table = mysql_fetch_array($tbl))
{
if($_POST[act] == $table[id_active]) $temp = "selected";
else $temp = "";
echo "<option value=$table[id_active] \"selected\" $temp>$table[name]";
}
echo "</select><br>";
?>
|
а так, если добавить alert("YES") там где return true; он появляется. | |
|
|
|
|
|
|
|
для: ronin
(14.11.2008 в 11:05)
| | Вы напишите код свой, как у вас заполенены значения опшенов... У вас проблема не в функции, а в том, что передается в нее. | |
|
|
|
|
|
|
|
для: sim5
(13.11.2008 в 14:42)
| | у меня не работает вот что: когда ничего не заполнено выдает: return true | |
|
|
|
|
|
|
|
для: ronin
(13.11.2008 в 13:43)
| | Если обращение к этой функции происходит по событию onsubmit формы, то это все что вам и нужно, что тут может быть не так? Тот вызов, что я вам прописал, предписывает перед отправкой формы проверить возвращаемое функцией значение, и если оно равно true то отправить форму, если false, нет. Сама функция у вас осталась без изменения, изменены только имена переменных, ну и как она работает стоит ли объяснять? Если же трудности в этом, то:
1. если любая из трех переменных равна true, а это будет тогда, когда будет выбран опшен какого либо списка со значением (посмотрите как я писал, первый опшен не имеет значения), то функция вернет true и форма отправится.
2. иначе выводим сообщение, возвращаем false.
Так что же все таки не получается? | |
|
|
|
|