Вопрос по js

Статус
В этой теме нельзя размещать новые ответы.

podkashey

Постоялец
Регистрация
25 Сен 2007
Сообщения
65
Реакции
8
Имеется следующий скрипт:
<script>
function check1()
{
if (document.SendMail.from_ch.value == 'hz')
alert("Выберите, пожалуйста, источник информации о нас.");
else
document.SendMail.submit();
}
</script>
И код:
<td align=center colspan="3" width="100%" align="center"><input type="submit" name="SendMail" value="отправить" onclick="javascript:check1();">

Но при тыке на кнопку все равно помимо алерта происходит выполнение процедуры, то есть отправляется письмо. Требуется чтобы оно не отсылалось, а просто выскакивал алерт. Какая ошибка здесь?
 
нужно обрабатывать событие OnSubmit

<script language="JavaScript">
<!--
function form() {
if (document.SendMail.from_ch.value == 'hz') {
alert("Выберите, пожалуйста, источник информации о нас.");
return false;
}
else {
return true;
}
}
//-->
</script>

<form method="post" action="post.php" onSubmit="form()">
<input type="submit" name="SendMail" value="отправить">
</form>
 
masto, так не прокатывает, не отправляется письмо....
Кому интересно Для просмотра ссылки Войди или Зарегистрируйся - вот скрипт. Второй аналогично как у меня и было выдает алерт и отсылает письмо...
 
  • Заблокирован
  • #5
<script>
function check1()
{
if (document.SendMail.from_ch.value == 'hz') {
alert("Выберите, пожалуйста, источник информации о нас.");
return false;
}
else {
return true;
}
}
</script>

А в форме:
<form action="post.php" name="SendMail" onsubmit="return check1()" >
 
<script>
function check1()
{
if (document.SendMail.from_ch.value == 'hz') {
alert("Выберите, пожалуйста, источник информации о нас.");
return false;
}
else {
return true;
}
}
</script>

А в форме:
<form action="post.php" name="SendMail" onsubmit="return check1()" >

Так не отправляется мыло. Давал же уже ссылку. Проверили бы у себя прежде чем писать.
 
Нужно поменять на
<input type="button" name="SendMail" value="отправить" onclick="javascript:check1();">

Проверил - работает.
 
по onclick может ещё что-то сработать кроме JS?
я о том зачем писать onclick="javascript:..."
 
Это анахронизм (так называется?). Осталось от тех времен, когда вовсю пользовались VBScript и браузеры не умели(не хотели) различать тип скриптов. Использование данного префикса безвредно, равно как и бесполезно.

P.S. так, на заметку.
P.P.S. у топикстартера эта приставка изначально была. А ошибка в другом - в типе инпута.
 
Нужно поменять на
<input type="button" name="SendMail" value="отправить" onclick="javascript:check1();">

Проверил - работает.
Если делать как сейчас:
<script>
function check1()
{
if (document.SendMail.from_ch.value == 'hz') {
alert("Выберите, пожалуйста, источник информации о нас.");
return false;
}
else {
return true;
}
}
</script>

<form method="post" action="http://maomed.ru/c.php" name="SendMail">

<input type="button" name="SendMail" value="отправить" onclick="javascript:check1();">
</td>
</tr>
</table>
</form>

То кнопка вообще не нажимается.
П.С. Сейчас подумал - возможно предыдущее что-то работает, но я все тестил в опере, а опера, фф и ие немного по разному обрабатывают js. В любом случае необходимо, чтобы была кроссбраузерность.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху