Страница 1 из 1

Поля почтовой формы ? Проверка

СообщениеДобавлено: 08 дек 2008, 20:46
ironkiss
Привет,

если можно, то без флуда.
Возможно ли сделать проверку 1 поля в почтой форме? К примеру я составляю список слов, которые использовать нельзя в данном поле и если пользователь его туда пишет, то ему бы оповещалось, что это слово писать нельзя.

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 04:03
ironkiss
up
Что ни как?

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 15:36
Vanofuture
Можно. JavaScript + checksubmit()

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 17:35
ironkiss
Vanofuture писал(а):Можно. JavaScript + checksubmit()

Значит пока не судьба увидеть готового решения, жаль.
Что же, поплыл гуглить...

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 17:43
ironkiss
ironkiss писал(а):
Vanofuture писал(а):Можно. JavaScript + checksubmit()

Значит пока не судьба увидеть готового решения, жаль.
Что же, поплыл гуглить...

В общем нарыл кое что, кстати Vanofuture, спасибо за наводку :)

Но хоть я и нашел решение:
Код: Выделить всё
<script>
function checksubmit(fmy) {
 if(fmy.form1.value!=слово1) return true;
 else { alert('Не правильное слово'); return false; }
}
</script>

а как мне правильно прописать список слов? (2 и более...)

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 20:12
Vanofuture
ironkiss писал(а):
ironkiss писал(а):
Vanofuture писал(а):Можно. JavaScript + checksubmit()

Значит пока не судьба увидеть готового решения, жаль.
Что же, поплыл гуглить...

В общем нарыл кое что, кстати Vanofuture, спасибо за наводку :)

Но хоть я и нашел решение:
Код: Выделить всё
<script>
function checksubmit(fmy) {
 if(fmy.form1.value!=слово1) return true;
 else { alert('Не правильное слово'); return false; }
}
</script>

а как мне правильно прописать список слов? (2 и более...)

<script type="text/javascript">
words=new Array('ляляля','гыгыгы','qwerty');

function checksubmit(obj){
for(i=0;i<words.length;i++){
if(obj.somefield.value.indexOf(words[i])!=-1){
alert('Недопстимое значение поля *тута название поля*');return false;break;}}return true;}
</script>

somefield — атрибут name нужного поля.
Ну и самой форме припиши onsubmit="return checksubmit(this);"

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 21:26
ironkiss
Vanofuture, спасибо большое, все работает...
мда, уже не работает, вернее работает только если я сам составляю форму для отправки.
если использовать модуль "Почтовые формы", то не работает.
т.к. <form> - не прописан в шаблоне "Почтовой формы", а если добавить самому туда, то
форма не отправляет письма! И как быть?

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 09 дек 2008, 22:44
Vanofuture
ironkiss писал(а):Vanofuture, спасибо большое, все работает...
мда, уже не работает, вернее работает только если я сам составляю форму для отправки.
если использовать модуль "Почтовые формы", то не работает.
т.к. <form> - не прописан в шаблоне "Почтовой формы", а если добавить самому туда, то
форма не отправляет письма! И как быть?

Подключи jq. Потом поставь скрипт:
Код: Выделить всё
<script type="text/javascript">
$(document).ready(function(){$('form[name="mform"]').submit(function(){return checksubmit(this); });});
</script>

Re: Поля почтовой формы ? Проверка

СообщениеДобавлено: 10 дек 2008, 05:23
ironkiss
Vanofuture писал(а):
ironkiss писал(а):Vanofuture, спасибо большое, все работает...
мда, уже не работает, вернее работает только если я сам составляю форму для отправки.
если использовать модуль "Почтовые формы", то не работает.
т.к. <form> - не прописан в шаблоне "Почтовой формы", а если добавить самому туда, то
форма не отправляет письма! И как быть?

Подключи jq. Потом поставь скрипт:
Код: Выделить всё
<script type="text/javascript">
$(document).ready(function(){$('form[name="mform"]').submit(function(){return checksubmit(this); });});
</script>

:) Vanofuture, спасибо, пригодится, но к сожалению работает не так, как хотелось бы.
Хоть алерт и выскакивает, но форма все равно отправляется. Ну да ладно.

Немного посидев, я решил попробовать сделать проверку перед отправкой, через onclick,
добавил к инпуту кнопки отправить:
Код: Выделить всё
onclick="if(forma1.value=='ляляля','гыгыгы')forma1.value=''"

и так как нужное мне поле, есть обязательное поле, форма не отправляется т.к. онклик очищает ее.

Конечно не придел совершенства, но за неимением лучшего, сойдет.

Еще раз спасибо за помощь!