Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.89
Vlad708
4 / 4 / 0
Регистрация: 04.11.2012
Сообщений: 72
#1

Вывод уведомления после отправки сообщения - PHP

08.08.2014, 12:26. Просмотров 12534. Ответов 21
Метки нет (Все метки)

Всем привет!
Имеется форма для отправки сообщений на эл. почту. Она работает. Но после отправки мне надо сделать, чтобы на странице появлялся скрытый блок div , который содержит информацию о том, что сообщений успешно отправлено.
Подскажите, что нужно сделать, чтобы после отправки этот блок выскакивал по центру?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2014, 12:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод уведомления после отправки сообщения (PHP):

Переадресация на страницу после отправки сообщения - PHP
Отправляю сообщение на PHP все норм. Но после(через секунд 5) мне нужно сделать переадресацию на другую страницу(главную напр.). Вот...

Переадресация после отправки сообщения, PHP - PHP
Здравствуйте форумчане. В PHP новичек. Отправляю сообщение с прикрепленными файлами. После отправки страница не перезагружена,...

Автоматический возврат на страницу после отправки сообщения с сайта - PHP
Здравствуйте. Пожалуйста, подскажите как дописать код, чтобы после успешной отправки сообщения с сайта посетитель автоматически, без...

Переадресация после отправки сообщения формы обратной связи - PHP
Есть форма обратной связи, задуманно что после отправки сообщения пользователя перекидывает на страницу good.html Сделано это так ...

Различные сообщения и уведомления на сайте - PHP
Подскажите какие вы использовали способы реализации сообщений на сайте. О чем я: //------------Проверка Достаточно ли фишек у...

Вывод сообщения после авторизации - PHP
Добрый день есть такой код авторизации пользователя, авторизация проходит пост запросом, по нему есть 2 вопроса. 1)как сделать так что бы...

21
Egor2014
29 / 8 / 0
Регистрация: 22.10.2013
Сообщений: 354
11.02.2016, 20:59 #16
У меня отправляется письмо с редиректом на форму:

PHP
1
2
3
4
5
6
7
8
9
if(isset($_POST['submitted']))
{
   if($formproc->ProcessForm())
   { 
       
    $formproc->RedirectToURL("spes-mail.php");
 
   }
}
Также мне нужно: вывод уведомления после отправки сообщения.
Скрипт здесь: http://www.html-form-guide.com/conta...ttachment.html

Полный код формы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?PHP
/*
    Contact Form from HTML Form Guide
    This program is free software published under the
    terms of the GNU Lesser General Public License.
    See this page for more info:
    http://www.html-form-guide.com/contact-form/contact-form-attachment.html
*/
require_once("./include/fgcontactform.php");
require_once("./include/captcha-creator.php");
 
$formproc = new FGContactForm();
$captcha = new FGCaptchaCreator('scaptcha');
 
$formproc->EnableCaptcha($captcha);
 
//1. Add your email address here.
//You can add more than one receipients.
$formproc->AddRecipient('info@mail.ru'); //<<---Put your email address here
 
 
//2. For better security. Get a random tring from this link: http://tinyurl.com/randstr
// and put it here
$formproc->SetFormRandomKey('XsHVufPpgD9Epwl');
 
$formproc->AddFileUploadField('photo','jpg,jpeg,gif,png,bmp',2024);
$formproc->AddFileUploadField('resume','doc,docx,pdf,txt',2024);
 
if(isset($_POST['submitted']))
{
   if($formproc->ProcessForm())
   {
      $formproc->RedirectToURL("contactform.php");
    //    $formproc->RedirectToURL("spes-mail.php");
        echo '<p style="color: #008000;">Письмо отправлено</p>';
   }
}
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
      <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
      <title>Contact us</title>
      <link rel="STYLESHEET" type="text/css" href="contact.css" />
      <script type='text/javascript' src='scripts/gen_validatorv31.js'></script>
      <script type='text/javascript' src='scripts/fg_captcha_validator.js'></script>
 <style type="text/css">
 label {display:inline-block; width:150px;} 
</style>     
</head>
<body>
 
<!-- Form Code Start -->
<form id='contactus' action='<?php echo $formproc->GetSelfScript(); ?>' method='post' enctype="multipart/form-data" accept-charset='UTF-8'>
 
<fieldset ><legend>Форма 1</legend>
 
<input type='hidden' name='submitted' id='submitted' value='1'>
<input type='hidden' name='<?php echo $formproc->GetFormIDInputName(); ?>' value='<?php echo $formproc->GetFormIDInputValue(); ?>'>
<input type='text'  class='spmhidip' style="display:none;" name='<?php echo $formproc->GetSpamTrapInputName(); ?>'>
 
 
<div><span class='error'><?php echo $formproc->GetErrorMessage(); ?></span></div>
<div class='container'>
<!-- Ф.И.О. ставим на форме-->
    <label for='name'>Ф.И.О. *: </label>
    <input type='text' name='name' id='name' value='<?php echo $formproc->SafeDisplay('name') ?>' maxlength="50" style="width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;"><br>
    <span id='contactus_name_errorloc' class='error'></span>
</div>
<!-- E-mail ставим на форме-->
<div class='container'>
    <label for='email' >E-mail *:</label>
    <input type='text' name='email' id='email' value='<?php echo $formproc->SafeDisplay('email') ?>' maxlength="50" style="width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;"><br>
    <span id='contactus_email_errorloc' class='error'></span>
</div>
 
<!-- Населенный пункт ставим на форме -->
<div class='container'>
    <label for='gorod' >Населенный пункт *:</label>
    <input type='text' name='gorod' id='gorod' value='<?php echo $formproc->SafeDisplay('email') ?>' maxlength="50" style="width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;"><br>
    <span id='contactus_gorod_errorloc' class='error'></span>
</div>
<!-- Телефон ставим на форме -->
<div class='container'>
    <label for='phone' >Телефон *:</label>
    <input type='text' name='phone' id='phone' value='<?php echo $formproc->SafeDisplay('email') ?>' maxlength="50" style="width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;"><br>
    <span id='contactus_phone_errorloc' class='error'></span>
</div>
 
 
<div class='container'>
    <label for='message' style="margin-top:-5%; vertical-align:middle;">О себе, методы и приёмы в работе просим писать больше: *</label>
    <span id='contactus_message_errorloc' class='error'></span>
    <textarea name='message' id='message' style="width: 300px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;" rows=10><?php echo $formproc->SafeDisplay('message') ?></textarea>
</div>
<div class='container'>
    <label for='photo' >Файл 1:</label>
    <input type="file" name='photo' id='photo'><br>
    <span id='contactus_photo_errorloc' class='error'></span>
</div>
<div class='container'>
    <label for='photo' >Файл 2:</label>
    <input type="file" name='resume' id='resume'><br>
    <span id='contactus_resume_errorloc' class='error'></span>
</div>
<div class='container'>
    <div><img alt='Captcha image' src='show-captcha.php?rand=1' id='scaptcha_img'></div>
    <label for='scaptcha' >Введите код:</label>
    <input type='text' name='scaptcha' id='scaptcha' maxlength="10"> <a href='javascript: refresh_captcha_img();'>Обновить код</a>
    <span id='contactus_scaptcha_errorloc' class='error'></span>
</div>
 
 
<div class='container'>
    <input type='submit' name='Submit' value='Отправить'>
</div>
 
</fieldset>
</form>
<!-- client-side Form Validations:
Uses the excellent form validation script from JavaScript-coder.com-->
 
<script type='text/javascript'>
// <![CDATA[
 
    var frmvalidator  = new Validator("contactus");
    frmvalidator.EnableOnPageErrorDisplay();
    frmvalidator.EnableMsgsTogether();
    frmvalidator.addValidation("name","req","Please provide your name");
 
    frmvalidator.addValidation("email","req","Please provide your email address");
 
    frmvalidator.addValidation("email","email","Please provide a valid email address");
 
    frmvalidator.addValidation("message","maxlen=2048","The message is too long!(more than 2KB!)");
 
    frmvalidator.addValidation("photo","file_extn=jpg;jpeg;gif;png;bmp","Upload images only. Supported file types are: jpg,gif,png,bmp");
 
    frmvalidator.addValidation("scaptcha","req","Please enter the code in the image above");
 
    document.forms['contactus'].scaptcha.validator
      = new FG_CaptchaValidator(document.forms['contactus'].scaptcha,
                    document.images['scaptcha_img']);
 
    function SCaptcha_Validate()
    {
        return document.forms['contactus'].scaptcha.validator.validate();
    }
 
    frmvalidator.setAddnlValidationFunction("SCaptcha_Validate");
 
    function refresh_captcha_img()
    {
        var img = document.images['scaptcha_img'];
        img.src = img.src.substring(0,img.src.lastIndexOf("?")) + "?rand="+Math.random()*1000;
    }
 
// ]]>
</script>
 
 
</body>
</html>
0
Goldfinch
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
29.06.2016, 18:12 #17
Помогите! Не выводится сообщение после отправки заполненной формы. Языковой файл:
SEND A COPY OF THIS MESSAGE TO YOUR OWN ADDRESS="Отправить копию этого сообщения на ваш адрес"
COM_MAILTO_EMAIL_SENT="Письмо было успешно отправлено."
COM_QF_NOT_ALL="не все поля заполнены"

Но после отправки пустое окно....
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
30.06.2016, 10:34 #18
и мы должны угадать на основе этих пару слов, как вы выводите (и выводите ли) эти сообщения и что там надо исправить?
В таком случае, ошибка на 17 строчке.
0
Goldfinch
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
03.07.2016, 23:31 #19
Да нет, я ж просто как бы еще учусь.... А так как сайт у меня стоит на Джумле, и все файлы раскиданы по папкам, где я плохо ориентируюсь, потому и не скинула больше ничего. В общем мне понятно что написаного мной мало для помощи мне. Поищу больше информации.

Добавлено через 12 минут
Вот PHP код:
Код
<?php
/**
* 
* 
* @license    GNU/GPL
*/

defined('_JEXEC') or die;
require_once JPATH_ADMINISTRATOR.'/components/com_quickform/helpers/quickform.php';

$reqForm=JRequest::getInt('formreq', NULL);
if($reqForm){
	header ("Content-type: text/html; charset=utf-8");
	require_once(JPATH_ADMINISTRATOR."/components/com_quickform/helpers/form.php");
	
	$contents = new QuickForm((int)$reqForm);
	echo $contents->ajaxHTML();
	exit;
}
	
JRequest::checkToken() or jexit( 'Invalid Token' );
require_once JPATH_COMPONENT.'/helpers/class.php';

if(JRequest::getCmd( 'task')!='form')return;
if(!JRequest::getInt('id', NULL))return;

$post = JRequest::get('post');
$db		= JFactory::getDBO();
$user = JFactory::getUser();

$qfCheck = new qfCheck;
$row = $qfCheck->getClonerQuery((int)$post['id']);


$groups	= $user->getAuthorisedViewLevels();
if(!in_array($row->access, $groups))return;

$start=(float)str_replace(',','.',$row->price);
$sum=$GLOBALS['qfSum']=0;
$c=$row->calc?1:0;
$params=json_decode($row->params, TRUE);

if(!$tmpl=$params['tmpl']) $tmpl='default';
$html =$qfCheck->getFilds($row->cod,$c, $post['id'],$tmpl) ;

$res=NULL;
if($c){
	$arr=explode(';',$GLOBALS['qfSum']);
	if(!$params['formul']){
		$sum=$start;
		foreach($arr as $ar){
			if($ar{0}=='*')$sum*=substr($ar, 1);
			elseif($ar{0}=='=')$sum=substr($ar, 1);
			elseif($ar{0}=='-')$sum-=substr($ar, 1);
			elseif($ar{0}=='+')$sum+=substr($ar, 1);
		}
		$res=$sum;
	}
	elseif($params['formul']==1){
		foreach($arr as $ar){
			if($ar{0}=='*')$start*=substr($ar, 1);
			elseif($ar{0}=='=')$start=substr($ar, 1);
			elseif($ar{0}=='-')$sum-=substr($ar, 1);
			elseif($ar{0}=='+')$sum+=substr($ar, 1);
		}
		$res=$start+$sum;
	}
	elseif($params['formul']==2){
		$sum=$start;
		$mul=1;
		foreach($arr as $ar){
			if($ar{0}=='*')$mul*=substr($ar, 1);
			elseif($ar{0}=='=')$sum=substr($ar, 1);
			elseif($ar{0}=='-')$sum-=substr($ar, 1);
			elseif($ar{0}=='+')$sum+=substr($ar, 1);
		}
		$res=$sum*$mul;
	}
}

include JPATH_COMPONENT.'/helpers/mailtmpl/'.$tmpl.'.php';


if(strpos($mailHtml, '_claster')) $mailHtml = preg_replace("/(_claster)(.+?)(claster_)/e", "qfCheck::clasterreplace('\\2',".$c.")", $mailHtml);
if($tmpl=='json'){
	$mailHtml= preg_replace('/(<td style=[^>]*?>)([^<]*?)(<\/td><\/tr>)/', '\\1\\2\\3,<br/>', $mailHtml);
	$mailHtml= preg_replace('/(<td style=[^>]*?>)([^<]*?)(<\/td>)/', '"\\2",', $mailHtml);
	$mailHtml= str_replace(array('<tr>','</tr>'), '', $mailHtml);
	$mailHtml= str_replace(',,', '', $mailHtml);
}


//echo $mailHtml;die;


$mailer = JFactory::getMailer();
$jAp = JFactory::getApplication();

$lsFromEmail = $jAp->getCfg('mailfrom');
$lsFromName  = $jAp->getCfg('fromname');
$lsFrom 	 = array($lsFromEmail, $lsFromName);

if($row->toemail){
	$arr=explode(',',$row->toemail);
	foreach($arr as $ar){
		$mailer->addRecipient(trim($ar));
	}
}
else $mailer->addRecipient($lsFromEmail);

if($post['back'])$mailer->addRecipient($post['email']);

$mailer->setSender($lsFrom);
$mailer->addReplyTo($lsFrom);
$mailer->setSubject(JText::_('MESSAGE').' '.$_SERVER['HTTP_HOST']);
$mailer->setBody($mailHtml);
$mailer->isHTML(true);

$files = $jAp->input->files->get( 'qffile', array(), 'array' );
foreach ( $files as $file ) {
	$mailer->addAttachment( $file['tmp_name'], $file['name'] ); 
}


if ($mailer->Send() !== true)$msg=JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST');
else {
	$msg=JText::_('COM_MAILTO_EMAIL_SENT');
	
	$fields = array(
		'st_formid' => (int)$row->id, 
		'st_date' => gmdate('Y-m-d H:i:s'),
		'st_form' => str_replace("'","\'",$mailHtml), 
		'st_title' => $row->title, 
		'st_cur' => $row->cur, 
		'st_price' => $start+$sum, 
		'st_ip' => $qfCheck->getip(), 
		'params' => '', 
		'st_user' => $user->get('id'), 
		'st_status' => 0
	);
	foreach($fields as $key=>$value){
		$v_key.=",$key";
		$v_value.=",'$value'";
	}
	$v_key=substr($v_key, 1);
	$v_value=substr($v_value, 1);

	$db->setQuery("INSERT INTO `#__quickform_ps` ($v_key) VALUES ($v_value)");
	$db->query();
	
	$db->setQuery("UPDATE `#__quickform` SET hits = ( hits + 1 ) WHERE id = ".(int)$row->id);
	$db->query();
}
0
Goldfinch
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
03.07.2016, 23:32 #20
А вот JS:
Код
/* @Copyright ((c) bigemot.ru
v 3.4.1
 */
window.addEvent('domready', function() {
	var int='qfrut',h={};
	$$('.qfblock form').each(function(el){
		h[el]=el.qfcod.value;
		if(el.start){
			el.addEvent('change', function() {
				qfsumBox(el,int,h[el]);
			});
		}
		qfGetReq(el,int,h[el]);
		cloneClass(el);
		qfRestorForm(el);
	});
});



function qfEvents(f) {
	if(!f.option)return;
	f.getElements('input[name="qfctext[]"]').each(function(el){
		var Num=function(){
			el.value=strNum(el.value);
		}
		el.addEvents({
			'keyup': Num,
			'change': Num
		});
	});
	
//	f.getElements('input[name="qftext[]"]').each(function(el){
//		if(el.previousSibling.innerHTML=='И. Фамилия'){
//			var Num=function(){
//				el.value=el.value.toUpperCase();
//			}
//			el.addEvents({
//				'keyup': Num,
//				'change': Num
//			});
//		}
//	});
	
}
function strNum(x) {
	var r = ""; 
	for(var n=0; n<x.length; n++) {
		var base= x.charAt(n);
		if ((base!=' '&&isNaN(base)==false)||base==','||base=='.')
			r = r + base;
	}
	return r.replace(/,/g,".");
}

function cloneClass(x) {
	if (x)x.getElements('.qfcloneone').each(function(el){
		if (el.className.charAt(15)<2)return;
		var i=1; for (var childItem in el.childNodes){
			if(!(['qfclonep', 'qfclonem', 'qfclonesum'].join('').indexOf(el.childNodes[childItem].className)>=0)
			&& typeof el.childNodes[childItem]=='object')el.childNodes[childItem].addClass('qfc_'+i);i++;
		}
	});
}
function qfsumBox(form,c,h) {
	qfEvents(form);
	if(!form.start)return;
	var start = parseFloat(form.start.value.replace(",",".")),q='qfbig',add,qq=1;
	var el=form.elements;c=c.slice(2,4);
	oldprice=q.slice(2)+(qq?'em':'');clflags(form);
	if(form.formul.value==1)price=qfCalculator1(el,start);
	else if(form.formul.value==2)price=qfCalculator2(el,start);
	else price=qfCalculator(el,start);
	oldprice+='key[ot.'.slice(4);
	if(parseInt(price)!=(price*1))price=parseFloat(price).toFixed(2);
	form.getElement('.qfpriceinner').innerHTML=qfstrPrice(price,c,h);
}

function qfstrPrice(x,c,h) {
	x = x.toString();var qfstr=oldprice+c,q='.qflin'+'k a',y = x.charAt(0);
	var qf=$$(q).length?($$(q)[0].href.slice(7,17)==qfstr):0,qf_h=h;
	for(var n=1; n<x.length; n++) {
		if (Math.ceil((x.length-n)/3) == (x.length-n)/3) y = y + " ";
		y =(!$$(q).length||!$$(q)[0].rel)? y + x.charAt(n):'';
	}
	return((!qf&&''+h!=qfel())?'':y.replace(" .",","));
}

function checClon(f) {
		var els=f.getElements('.qfclone');
		if(els.length<1) return;
		var str='';
		els.each(function(x){
			var ferst=x.childNodes[0],n=1;
			while(ferst.nextSibling&&'qfcloneone'.indexOf(ferst.nextSibling.className)){
				ferst=ferst.nextSibling;
				n++;
			}
			str+=','+n;
		});
		var fl=document.createElement("input");
		fl.type = 'hidden';fl.name ='clonStr';fl.value =str.slice(1);
		f.appendChild(fl);
	
		els=f.getElements('.qflong');
		if(els.length<1) return;
		n=0;str='';
		while(n<els.length) {
			var hits=els[n].parentNode.getElements('.qflong').length;
			str+=','+hits;
			n+=hits;
		}
		var fl=document.createElement("input");
		fl.type = 'hidden';fl.name ='qffl';fl.value =str.slice(1);
		f.appendChild(fl);
}
function qfsubmit(x) {
	var a=1,f=x.form;
	f.getElements('.validat').each(function(el){
		if(!checkfild(el)){qfanimat(el);a=null;}
	});
	if(a)
	{
		checClon(f);
		var ch=document.createElement("input");
		ch.type = 'hidden';ch.name =qfCh().slice(1);ch.value =1;
		f.appendChild(ch);f.submit();
	}
	else{
		var div = document.createElement("div");
		div.className='alertvalidat';
		div.innerHTML=allthefieldsare;
		f.getElement('.qfsubmit').insertBefore(div, f.getElement('.qfsubmit label'));
		setTimeout(function(){animHtml(div,'')}, 3000);
	}
}

function checkfild(el) {
	if(!el.value) return null;
	else if(el.name=='email[]'&&!isValidEmail(el.value)) return null;
	else if(el.type === 'checkbox'&&!el.checked) return null;
	return true;
}

function qfanimat(el) {
	el.getParent().setStyles({'color':'#F00','font-weight':'700'});
	if(typeof(Fx.Morph)=='function'){
		new Fx.Morph(el.getParent(), {duration: 3000}).start({'color': '#666'}).chain(function(){
			el.addEvent('keyup', function() {
				if(checkfild(el))
					el.getParent().setStyle('font-weight','normal');
				else el.getParent().setStyle('font-weight','700');
			});
			el.addEvent('click', function() {
				if(checkfild(el))
					el.getParent().setStyle('font-weight','normal');
				else el.getParent().setStyle('font-weight','700');
			});
		});
		var nsw=function() {
			var effect = new Fx.Morph(el.getParent().getElement('label'), {duration: 1500});
			effect.start({'opacity': 0.1}).chain(function() {
				effect.start({'opacity': 1});
			});
			if(el.getParent().style.fontWeight=='700') var timeout_id = setTimeout(nsw, 3000);
			el.form.getElement('.qfsubmit').addEvent('click', function() {clearTimeout(timeout_id);});
		 }
		setTimeout(nsw, 3000);
	}
}



function isValidEmail (email, strict){
 if ( !strict ) email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

function qfel() {
	var ue = function (inArr){
		var uniHash={}, outArr=[], i=inArr.length;
		while(i--) uniHash[inArr[i]+'??']=i;
		for(i in uniHash) outArr.push(i.replace('??',''));
		return outArr
	}
	var a=(ue(window.location.hostname.replace(/[w|.|-]/g,'').split(''))),c=[],i=a.length;
	while(i--)
		c[i]=a[i]+a[a.length-i-1];
	return c.join('').slice(a.length);
}
//Object.prototype.clone2 = function(obj) {
//    var newObj = (this instanceof Array) ? [] : {};
//    for (i in this)  {
//
//        if (obj[i] && typeof obj[i] == "object")
//            newObj[i] = Object.clone(obj[i]);
//        else 
//            newObj[i] = obj[i]
//    } 
//    return newObj;
//};
var tmplRadioNum=0;
function qfclonep(x,m){
	x=x.parentNode;
	if(m&&m<=x.parentNode.parentNode.getElements('.qfcloneone').length)return;
	var xclone=x.parentNode.clone();
	var dr=xclone.getElements('input[type="radio"]');
	dr.each(function(el){
		el.name='dubl'+tmplRadioNum+el.name;
	});
	tmplRadioNum++;
	
	var d=insertAfter(xclone, x.parentNode);
	
	dr=d.getElements('input[type="radio"]');
	var i=[];
	dr.each(function(el){
		if(!i[el.name])el.checked='checked';
		i[el.name]=1;
	});
	
	
	var ds=d.getElements('select');
	ds.each(function(el){
		el.selectedIndex=0;
	});
	
	qfGetReq2(ds.concat(dr));
	showLabel(d);
	var z=d.getElement('label')
	qfsumBox(z.form,'htrut',z.form.qfcod.value);
//		animSum(d.getElement('.qfclonesum'));
}
function qfclonem(x){
	x=x.parentNode;
	var row = x.parentNode,clon=row.getParent('.qfclone');
	if(clon.getElements('.qfcloneone').length-row.getElements('.qfcloneone').length>1){
		animHtml(row,'');
	}
	var f=clon.getParent('form');
	qfsumBox(f,'htrut',f.qfcod.value);
	(function(){showLabel(clon.getElement('.qfcloneone'))}).delay(800);
}
function showLabel(x){
	var z=x.className.charAt(15),a=0;
	if(z<2)return;
	var divs=x.getParent().getElements('.len_'+z);
	divs.each(function(el){
		var leb=el.getElements('label');
		if(leb){
			if(a)leb.setStyle('height',0);
			else leb.setStyle('height','auto');
			a=1;
		}
	});
}
function noClon(x) {
	while(true){
		x=x.parentNode;
		if(x.className.indexOf('qflong')>0)return null;
		if(x.getElement('form'))return true;
	}
}
function clflags(form){
	form.getElements('.qfclone').setStyle('display','');
}
function getClasterSum(x) {
	var clon=x.parentNode.parentNode.parentNode;
	if(clon.style.display=='block')return 0;
	clon.setStyle('display','block');
	var clonSum=0;
	clon.getElements('.qfcloneone').each(function(el){
		var els=el.getElements('select').concat(el.getElements('input'));
		var price=qfCalculatorClone(els,0);
		if(parseInt(price)!=price)price=price.toFixed(2);
		clonSum+=price*1;
		el.getElement('.qfclonesum').innerHTML=qfstrPrice(price,'ot.ru',x.form.qfcod.value);
	});
	return clonSum;
}
//function animSum(d){
//	var old=x=d.innerHTML,i=30;
//	while(i--){(function(){
//		for(var n=0; n<=old.length; n++) {
//			if (isNaN(x[n])==false)x=x.replace(x[n],Math.floor(Math.random() *9));
//		}
//		d.innerHTML=x;
//	}).delay(100);}
//	(function(){d.innerHTML=old;}).delay(500);
//}


function qfGetReq(form,c,h){
	var el=form.elements,cn='.'+c.slice(2,4);
	var qf=$$('.qfli'+'nk a').length?($$('.qfli'+'nk a')[0].href):null,qf_h='ot'+cn;
	if(qf&&qf.slice(12,17)!=qf_h) animHtml(form,'');
	else if(!qf||qf.rel)h!=qfel()?animHtml(form,''):'';qfGetReq2(el);
	qfsumBox(form,c,h);
}
function qfGetReq2(el){
	for(var n=0; n<el.length; n++) {	
		if(el[n].type==='select-one'){qfGetReqEL(el[n],'s');el[n].addEvent('change', function(){
			qfGetReqEL(this,'s');});}
		else if(el[n].type === 'radio'){qfGetReqEL(el[n],'r');el[n].addEvent('change', function(){
			qfGetReqEL(this,'r');});}
		qfEvents(el[n]);
	}
}
function qfGetReqEL(el,t){
	if(t=='s'&&el.options[el.selectedIndex].className.length>6){
		var a=el.options[el.selectedIndex].className;
		var req=a.slice(a.indexOf("_")+1);
		qfReqInner(el,req);
	}else if(t=='r'&&el.className.length>6 && el.checked){
		req=el.className.slice(el.className.indexOf("_")+1);
		qfReqInner(el,req);
	}else if(el.getParent().getNext()&&el.getParent().getNext().className=='qfblockch'){
		if(t=='s')animHtml(el.getParent().getNext(),'');
		if(t=='r'&& el.checked)animHtml(el.getParent().getNext(),'');
	}
}
function qfReqInner(el,req){
	new Request({url: qfroot+'/index.php?option=com_quickform', onSuccess: function(html){
		if(el.getParent().getNext()&&el.getParent().getNext().className=='qfblockch')animHtml(el.getParent().getNext(),html);
		else {
			var div=document.createElement('div');
			div.className='qfblockch';
			insertAfter(div,el.getParent());
			animHtml(div,html);
		}
		qfsumBox(el.form,'htrul',el.form.qfcod.value);
		cloneClass(el.getParent('.qfcloneone'));
	}}).get({'formreq':req});
}
function insertAfter(elem, refElem) {
	return refElem.parentNode.insertBefore(elem, refElem.nextSibling);
}
function animHtml(el,html) {
	var f=el.getParent().getElement('label').form;
	if(html){
		el.innerHTML=html;
		if(typeof(Fx.Morph)=='function'){
			el.setStyles({'overflow':'hidden'});
			new Fx.Morph(el, {duration: 600}).start({'opacity': [0, 1]});
		}
		var s = el.getElements('select');qfGetReq2(s);
		var r = el.getElements('input[type="radio"]');qfGetReq2(r);
		qfRestorForm(f);
	}else{
		if(typeof(Fx.Morph)=='function')new Fx.Morph(el, {duration: 600}).start({'opacity': [0.6, 0]}).chain(function(){
			var f=el.getParent().getElement('label').form;
			el.parentNode.removeChild(el);
			qfsumBox(f,'htrul',f.qfcod.value);
			qfRestorForm(f);
		});
		else {el.parentNode.removeChild(el);qfRestorForm(f);}
	}
		
}
function getAdd(el) {
	var add;
	if(el.type==='select-one'){add=el.options[el.selectedIndex].value;add=add.slice(add.indexOf("_")+1);}
	else if(el.type === 'radio' && el.checked)add=el.value.slice(el.value.indexOf("_")+1);
	else if(el.type === 'checkbox' && el.checked)add=el.value.slice(el.value.indexOf("_")+1);
	else if(el.name === 'qfctext[]'){
			el.removeEvents('keyup');
			el.addEvent('keyup', function() {
				qfsumBox(el.form,'htrul',el.form.qfcod.value);
			});
		var next=el.getNext().value;
		add=next.slice(0,1)+(el.value.replace(",",".")*next.slice(1));
	}
	else add='';
	return add;
}
function qfCalculator(el,start) {
	var price=start;
	for(var n=0; n<el.length; n++) {	
		if(noClon(el[n])){
			var add=getAdd(el[n]);
			if(add.length>1){	
				var modifer=add.slice(0,1);
				var val=add.slice(1);
				if(modifer=='=') price=val*1;
				else if(modifer=='*') price*=val;
				else if(modifer=='-') price-=val*1;
				else price=(price+val*1);
			}
		}
		else price+=getClasterSum(el[n]);
	}
	return price;
}

function qfCalculatorClone(el,start) {
	var price=start;
	for(var n=0; n<el.length; n++) {	
		var add=getAdd(el[n]);
		if(add.length>1){	
			var modifer=add.slice(0,1);
			var val=add.slice(1);
			if(modifer=='=') price=val*1;
			else if(modifer=='*') price*=val;
			else if(modifer=='-') price-=val*1;
			else price=(price+val*1);
		}
	}
	return price;
}
function qfCalculator1(el,start) {
	var price='';
	for(var n=0; n<el.length; n++) {	
		var add=getAdd(el[n]);
		if(add.length>1){	
			var modifer=add.slice(0,1);
			var val=add.slice(1);
			if(modifer=='=') start=val;
			else if(modifer=='*') start*=val;
			else price=(price+add);
		}
	}
	return eval(start+price);
}
function qfCalculator2(el,start) {
	var price=start,mul=1;
	for(var n=0; n<el.length; n++) {	
		var add=getAdd(el[n]);
		if(add.length>1){	
			var modifer=add.slice(0,1);
			var val=add.slice(1);
			if(modifer=='=') price=val*1;
			else if(modifer=='*') mul*=val;
			else if(modifer=='-') price-=val*1;
			else if(modifer=='+') price+=val*1;
		}
	}
	return price*mul;
}
function qfRestorForm(f) {
	
	if(f.getElements('.qfradio').length){
		var dr=f.getElements('.qfradio input[type="radio"]'), num=0;
		var oldtmp=dr[0].name;
		dr.each(function(el){
			var tmp=el.name;
			if(tmp!=oldtmp){num++;oldtmp=tmp;}
			el.name='r'+num;
		});
	}
	
	if(f.getElements('.qfinlabel').length){
		var inp=$$('.qfinlabel input');
		inp.each(function(el){
			var lab=el.getParent().getElement('label');
			if(!el.value){el.value=lab.innerHTML;
			lab.style.visibility='hidden';}
		});
		var textarea=$$('.qfinlabel textarea');
		textarea.each(function(el){
			var lab=el.getParent().getElement('label');
			if(!el.innerHTML){
				el.innerHTML=lab.innerHTML;
				lab.style.visibility='hidden';
				el.addEvent('focus', function() {
					if(el.value==lab.innerHTML)el.value='';
				});
				el.addEvent('blur', function() {
					if(!el.value)el.value=lab.innerHTML;
				});
			}
		});
		inp.addEvent('focus', function() {
			if(this.value==this.getParent().getElement('label').innerHTML)this.value='';
		});
		inp.addEvent('blur', function() {
			if(this.value=='')this.value=this.getParent().getElement('label').innerHTML;
		});
	}
}
0
Goldfinch
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
03.07.2016, 23:43 #21
Еще могу добавить, что я вычитала, что за вывод сообщения после отправки отвечает строка №127 в PHP файле, и по сему указала содержание языкового файла, который указывает на наличие этого сообщения в нем. Но к сожалению после нажатия SUBMITa выскакивает пустое окно, что вводит людей в заблуждение (скрины добавляю для наглядности "до" и "после")
0
Миниатюры
Вывод уведомления после отправки сообщения   Вывод уведомления после отправки сообщения  
Goldfinch
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
03.07.2016, 23:45 #22
В общем жду и надеюсь на помощь профану...
0
03.07.2016, 23:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2016, 23:45
Привет! Вот еще темы с ответами:

Вывод сообщения после редиректа - PHP
Здравствуйте. При выборе одного из пунктов меню (index.php?id=3) грузится вот такой контент: &lt;form name=&quot;form1&quot; method=&quot;post&quot;...

Оформление отправки сообщения - PHP
Вот у меня код отправки сообщение на мыльник.Как можно нормально оформить. Что бы когда пользователю приходило сообщение была не просто...

Форма отправки сообщения - PHP
И так, есть код &lt;div id=&quot;cont&quot;&gt; &lt;div&gt;+79052112391&lt;/div&gt; &lt;div class=&quot;cont&quot;&gt;&lt;a class=&quot;fancybox&quot; href=&quot;#inline&quot;&gt;Заказать...

Подтверждение отправки сообщения - PHP
Всем привет! Еще хотелось бы задать такой вопрос: у меня подтверждение отправки сообщения из формы обратной связи идет через alert, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru