<script src="output.js"></script> в head-e кстати,проверил сейчас-нашёл место,где он ещё раз вызывался,убрал его,оставив один в хеде, ошибка исчезла а ползунок не рабоатет |
|
vmazal,
воу воу паринь, ты в блокноте кодишь? О_о |
так трудно сказать
надо видеть сайт. Что-то не так :) (Кэп) |
Viral,
ну да, а в чём ещё?:-? tsigel, в общем сейчас ситуация такова - работает вот этот код страницы- он отправляет два поля на емейл
<head><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script type="text/javascript" src="http://vmazal.mcdir.ru/wp-content/themes/twentyfourteen/fancybox/jquery.fancybox.js"></script>
<script src="http://vmazal.mcdir.ru/wp-content/themes/twentyfourteen/sliding.form.js"></script>
<script src="output.js"></script>
<link rel="stylesheet" type="text/css" href="http://vmazal.mcdir.ru/wp-content/themes/twentyfourteen/css/style.css" media="screen"/>
<style>
span.reference{
position:fixed;
left:5px;
top:5px;
font-size:10px;
text-shadow:1px 1px 1px #fff;
}
span.reference a{
color:#555;
text-decoration:none;
text-transform:uppercase;
}
span.reference a:hover{
color:#000;
}
</style>
</head>
<body>
<div id="wrapper">
<h1>Задать платный вопрос</h1>
<div id="steps" style="width: 3000px; height: 540px;">
<form id="formElem" name="formElem" action="" method="post">
<fieldset class="step">
<legend>Контактные данные</legend>
<p>
<label for="username">Имя</label>
<input id="username" username="user"/>
</p>
<p>
<label for="email">Email</label>
<input id="email" name="email" placeholder="vopros@chelovek-zakon.ru" type="email" AUTOCOMPLETE=OFF/>
</p>
<p>
<label for="country">Регион</label>
<select id="country" name="country">
<option>77 г. Москва</option>
<option>78 г. Санкт-Петербург</option>
<option>1 Республика Адыгея </option>
<option>2 Республика Башкортостан </option>
<option>3 Республика Бурятия </option>
<option>4 Республика Алтай </option>
<option>5 Республика Дагестан </option>
в общем список городов
</select>
</p>
</fieldset>
<fieldset class="step">
<legend>Вопрос</legend>
<p>
<label for="name">Текст вопроса</label>
<textarea rows="12"name="name" id="name"></textarea>
</p> <p>
<label for="cena">Цена вопроса</label>
<input id="cena" name="cena" type="range" min=250 max=3000 value=500/>
<output for="cena">1</output> </p>
</fieldset>
<fieldset class="step">
<legend>Оплата</legend>
<p>
<label for="cardtype">Карточка</label>
<select id="cardtype" name="cardtype">
<option>Visa</option>
<option>Mastercard</option>
<option>American Express</option>
</select>
</p>
<p>
<label for="cardnumber">Номер карты</label>
<input id="cardnumber" name="cardnumber" type="number" AUTOCOMPLETE=OFF />
</p>
<p>
<label for="secure">Код безопасности</label>
<input id="secure" name="secure" type="number" AUTOCOMPLETE=OFF />
</p>
<p>
<label for="namecard">Имя на карте</label>
<input id="namecard" name="namecard" type="text" AUTOCOMPLETE=OFF />
</p>
</fieldset>
<fieldset class="step">
<legend>Дополнительно</legend>
<p>
<label for="newsletter">Количество юристов</label>
<select id="newsletter" name="newsletter">
<option value="Daily" selected>Один</option>
<option value="Weekly">Два (+100р.)</option>
<option value="Monthly">Три и более(+200р.)</option>
</select>
</p>
<label for="updates">Дополнительные опции</label>
<p>
<input type="checkbox" id="check1"/><label for="check1">Приватный вопрос (+200р.)</label>
<input type="checkbox" id="check2"/><label for="check2">Срочный вопрос (+200р.)</label>
</p>
<p>
<label for="tagname">Комментарий к вопросу</label>
<input id="tagname" name="tagname" type="text" AUTOCOMPLETE=OFF />
</p>
</fieldset>
<fieldset class="step">
<legend>Отправка юристам</legend>
<p>
Все данные были корректно введены если у всех граф горит зелёная отметка. Красные отметки означают, что некоторые поля пропущены или заполнены некорректно. Это последний шаг, подтверждающий отправку формы.
</p>
<p class="submit">
<button id="registerButton" type="submit">Отправить</button>
</p>
</fieldset>
</form>
</div>
<div id="navigation" style="display:none;">
<ul>
<li class="selected">
<a href="#">Контакты</a>
</li>
<li>
<a href="#">Вопрос</a>
</li>
<li>
<a href="#">Оплата</a>
</li>
<li>
<a href="#">Дополнительно</a>
</li>
<li>
<a href="#">Отправка</a>
</li>
</ul>
</div>
</div>
<!-- Модальное окно от fancybox -->
<script src="http://vmazal.mcdir.ru/wp-content/themes/twentyfourteen/sc.js"></script>
</body>
|
на емейл приходит всегда два сообщения - одно пустое и всле за ним с двумя полями.
видимо скрипт,что завершает этот код, sc.js, отправляет эти два поля, вот его код, который я поправил,и он стал отправлять два поля:
function validateEmail(email) {
var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return reg.test(email);
}
$(document).ready(function() {
$(".modalbox").fancybox();
$("#formElem").submit(function() { return false; });
$("#registerButton").bind("click", function(){
var emailval = $("#email").val();
var newsletterval = $("#newsletter").val();
var newsletterlen = newsletterval.length;
var nameval = $("#name").val();
var namelen = nameval.length;
var mailvalid = validateEmail(emailval);
var usernameval = $("#username").val();
var countryval = $("#country").val();
var cenaval = $("#cena").val();
var check1valval = $("#check1").val();
var check2val = $("#check2").val();
var tagnameval = $("#tagname").val();
if(mailvalid == false) {
$("#email").addClass("error");
}
else if(mailvalid == true){
$("#email").removeClass("error");
}
if(namelen < 4) {
$("#name").addClass("error");
}
else if(namelen >= 4){
$("#name").removeClass("error");
}
if(newsletterlen < 4) {
$("#newsletter").addClass("error");
}
else if(newsletterlen >= 4){
$("#newsletter").removeClass("error");
}
if(mailvalid == true && namelen >= 4 && newsletterlen>=4 ) {
// если обе проверки пройдены
// сначала мы скрываем кнопку отправки
$("#registerButton").replaceWith("<em>отправка...</em>");
$.ajax({
type: 'POST',
url: 'sendmessage.php',
data: $("#formElem").serialize(),
success: function(data) {
if(data == "true") {
$("#formElem").fadeOut("fast", function(){
$(this).before("<p><strong>Успешно! Ваше сообщение отправлено :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}
}
});
}
});
});
а в sliding.form.js , котоырй я подключаю в хеде,и который раньше , когда тема начиналась только, еще оптравлял данные на сервер, у меня вот такие изменения относитеьно оптравки в php файл:
$('#registerButton').bind('click',function(){
if($('#formElem').data('errors')){
alert('Пожалуйста, исправьте ошибки,где отмечено красным');
return false;
}else {
var dataToServer = {
username: document.getElementById("username").value,
email: document.getElementById("email").value,
country: document.getElementById("country").value,
name: document.getElementById("name").value,
newsletter: document.getElementById("newsletter").value,
cena: document.getElementById("cena").value,
check1: document.getElementById("check1").value,
check2: document.getElementById("check2").value,
tagname: document.getElementById("tagname").value,
};
alert('OTnPAB/\EHO');
$.ajax({
url: "sendmessage.php",
method: "post",
data: dataToServer,
success: function () { /*('Update successful! Успех! Сервер получил Емайл!' */},
error: function () { /*$('#status').text' Провал! Что-то пошло не так!' */}
});
почему же он тперь не отправляет даннные ? раз приходит пустое,а sc.js - отправляет два поля,а если в php файл отправки доабвить поле ,допустим "name",то ничего вообще не приходит.. |
vmazal,
Так трудно сказать, лучше ссылку на страницу Цитата:
|
tsigel,
ссылку на страницу, где выполняется форма? вот она http://vmazal.mcdir.ru/18-2 так ,сейчас скачаю редактор |
можно попросить кого-нибудь скинуть руководство именно по разделу отправки и обработки переменных из js в php
|
|
| Часовой пояс GMT +3, время: 09:31. |