Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 25.10.2018, 21:33   #1
selfshelly
Новичок
 
Регистрация: 25.10.2018
Сообщений: 2
Репутация: 10
По умолчанию не выполняется submit

Привет всем! Прошу помощи так как сама уже 5 день не могу найти, в чем проблема. Программист я по необходимости, кое-какие навыки программирования имею, из-за необходимости приходится их совершенствовать. Имеется у меня сайт на CMS Joomlaс компонентом магазина Virtuemart. Так вот, в этом виртумарте у каждого товара была кнопочка "Задать вопрос по товару", которая отправляла заполненную форму мне на почту. Теперь письма не приходят. Пытаясь разобраться, в чем проблема, пришла к выводу, что не обрабатывается запрос submit в скрипте. Но почему он не обрабатывается и где дальше искать - ума не приложу. Если кто может - помогите пожалуйста найти проблему.
Вот код, в котором не выполняется submit.
Код:

	
<script type="text/javascript">
	function validateEnquiryForm() {
		if ( ( document.emailForm.text.value == "" ) || ( document.emailForm.email.value.search("@") == -1 ) || ( document.emailForm.email.value.search("[.*]" ) == -1 ) ) {
			alert( "<?php echo $VM_LANG->_('CONTACT_FORM_NC',false); ?>" );
		} else if ( ( document.emailForm.email.value.search(";") != -1 ) || ( document.emailForm.email.value.search(",") != -1 ) || ( document.emailForm.email.value.search(" ") != -1 ) ) {
			alert( "You cannot enter more than one email address" );
		} else {
			
			document.emailForm.action="<?php echo sefRelToAbs("/index.php"); ?>"
			document.emailForm.submit();
		}
	}
	</script>

Да, вместо того, чтобы показать мне сообщение о том, что запрос отправлен, открывается главная страница .

Последний раз редактировалось selfshelly; 26.10.2018 в 00:38.
selfshelly вне форума   Ответить с цитированием
Старый 26.10.2018, 00:43   #2
selfshelly
Новичок
 
Регистрация: 25.10.2018
Сообщений: 2
Репутация: 10
По умолчанию

Ура! Вопрос решен!
Сайт долгое время работал по адресу www.mysite.ru/index.php
Я сделала недавно редирект с www.mysite.ru/index.php на www.mysite.ru и поэтому этот код начал глючить. Оказывается, там вообще не нужна вот эта строчка
document.emailForm.action="<?php echo sefRelToAbs("/index.php"); ?>" и нужна дополнительная скобка }. Т.е. правильный код такой:
Код:

	<script type="text/javascript">
	function validateEnquiryForm() {
		if ( ( document.emailForm.text.value == "" ) || ( document.emailForm.email.value.search("@") == -1 ) || ( document.emailForm.email.value.search("[.*]" ) == -1 ) ) {
			alert( "<?php echo $VM_LANG->_('CONTACT_FORM_NC',false); ?>" );
		} else if ( ( document.emailForm.email.value.search(";") != -1 ) || ( document.emailForm.email.value.search(",") != -1 ) || ( document.emailForm.email.value.search(" ") != -1 ) ) {
			alert( "You cannot enter more than one email address" );}
		 else {
		   	
			document.emailForm.submit();
		}
	}
	
	</script>

Если что, форма отправки вопроса по товару в виртумарт находится в файле ../public_html/components/com_virtuemart/themes/default/templates/pages/shop.ask.tpl.php
selfshelly вне форума   Ответить с цитированием
Старый 26.10.2018, 09:08   #3
Ottava
Форумчанин
 
Регистрация: 05.09.2017
Сообщений: 109
Репутация: 121
По умолчанию

Да, после смены ЧПУ форму просто надо отправлять на другой адрес. А вот со скобками } надо бы аккуратнее - они могут поменять всю логику работы модуля.
Но у вас как было, так и осталось, просто скобка } при редактировании перескочила в конец предыдущей строки:
Код:

	<script type="text/javascript">
	function validateEnquiryForm() {
		if ( ...) {
			operator;
		} else if ( ... ) {
			operator;}
		 else {
			document.emailForm.submit();
		}
	}
	
	</script>

Ottava вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если так заполнять массив, то второй цикл не выполняется, а если задавать элементы вручную - выполняется. Почему так? Hermeneticus Помощь студентам 1 30.10.2017 10:29
Стилизация кнопки Submit Gift020 HTML и CSS 0 20.03.2013 14:44
Submit Form JS 4ok JavaScript, Ajax 4 20.01.2013 20:14
Submit в TWebBrowser1 ==Spider== Работа с сетью в Delphi 5 24.08.2011 11:53
Написать Submit Krasi HTML и CSS 2 25.03.2010 11:52


07:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru