[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Или IE не едет, или у меня лыжи не смазаны
Litron
Что-за дрянь этот IE. во всех браузерах работает сайт на ура, но с ним я намучился <_<
А именно затык в следующем месте (строки в конце формы):

<?php } else {unset ($_SESSION['process']); ?>
<script>
formOpenClose(0);</script>
<a
href="" class="mail">
<div>
<?php
echo @$_SESSION['mes']; ?>
</div>
</a>
<?php
} ?>

Здесь должно отображаться окно, что заказ отправлен, после нажатия submit формы. Но IE почему-то не хочет выполнять эти строки. В отладчике не получилось проследить цепочку. Может я чего не докрутил где?
Без JS работает.

Форма:

<div id="popup_form" style="display: none;">
<?php
if (!isset($_SESSION['process'])){ ?>
<div
class="popup_form">
<div
class="forma_vvoda">
<form
name="order" action="" method="post" enctype="multipart/form-data">
<div
class="form_title">
<div
class="title" id="title_form"><h3>Заказ</h3></div>
<div
class="close" onClick="formOpenClose(0)">X</div>
</div>
<div
class="clear"></div>
<div
class="left">
<div
class="order_personal_data">
<input <?php
echo @$errors['name'];?> type="text" name="name" maxlength="30" placeholder="Ф.И.О. *" value="">
</div>
<div
class="order_personal_data">
<input <?php
echo @$errors['email'];?> type="text" name="email" maxlength="30" value="" placeholder="Email *">
</div>
<div
class="order_personal_data">
<input
type="text" name="number_phone" maxlength="30" value="" placeholder="Номер телефона">
</div>
<div
class="upload_file">
<label
for="uploadbtn" id="uploadbutton">Файлы
<span class="custom help">
<img
src="/images/help.png" alt="Помощь" height="40" width="40" />
<em>
Помощь</em>
<ul>
<li>
Выбор нескольких файлов при нажатой кнопке 'Ctrl'.</li>
<li>
Возможна загрузка только файлов: jpg, jpeg, png, gif, rar, zip, doc, docx, xls, xlsx.
<li>Размер файлов не более 10 Мб.</li>
</ul>
</span>
</label>
<div
class="namefile">
<div
id="namefile">
<div
id="infofile">Загружено: 0 файлов</div>
<span
class="custom info">
<img
src="/images/info.png" alt="Инфо" height="40" width="40" /><em>Загруженные файлы</em>
<div
id="list">Файлы отсутствуют</div>
</span>
</div>
</div>
<div
class="clear"></div>
<input
type="file" name="uploadfile[]" id="uploadbtn" multiple>
</div>
<div
class="order_personal_data">
Описание заказа:<br>
<textarea
name="text_order" wrap="virtual"></textarea>
</div>
</div>
<div
class="right">
<div
class="order_personal_data">
<fieldset
id="myFieldsetTip" <?php echo @$errors['tip'];?>>
<legend>
Выберите: *</legend>
<div
class="tip">
<div>
<input
id="kursovaya" type="checkbox" name="tip[0]" value="Курсовая">
<input
id="diplom" type="checkbox" name="tip[1]" value="Диплом">
<input
id="referat" type="checkbox" name="tip[2]" value="Реферат">
</div>
<div>
<label
for="kursovaya">Курсовая</label>
<label
for="diplom">Диплом</label>
<label
for="referat">Реферат</label>
</div>
</div>
</fieldset>
<div
class="clear"></div>
</div>
<div
class="order_dop_data">
<fieldset>
<legend
align="center">Зависит стоимость</legend>
<div>
<div
class="order_dop_data">
<input <?php
echo @$errors['wuz'];?> type="text" name="wuz" maxlength="50" value="" placeholder="ВУЗ *">
</div>
<div
class="order_dop_data">
<input <?php
echo @$errors['predmet'];?> type="text" name="predmet" maxlength="50" value="" placeholder="Предмет *">
</div>
<div
class="order_dop_data">
<input <?php
echo @$errors['originalnost'];?> type="text" name="originalnost" maxlength="10" value="" placeholder="Оригинальность *">
</div>
</div>
</fieldset>
</div>
<p>
* - обязательные поля</p>
<div
class="submit">
<input
id="myorder" type="hidden" name="subject">
<input
type="submit" name="go_order" value="Отправить заказ" onClick="return check()">
</div>
</div>
</form>
</div>
</div>
<script>

document.getElementById('uploadbtn').addEventListener('change', handleFileSelect, false);
</script>

<?php
} else {unset ($_SESSION['process']); ?>
<script>
formOpenClose(0);</script>
<a
href="" class="mail">
<div>
<?php
echo @$_SESSION['mes']; ?>
</div>
</a>
<?php
} ?>
</div>



К ней стили:

form{
margin: 0px;
padding: 0px;
}
#popup_form{
display: none;
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 9999;
background-color: rgba(0,0,0,0.5);

}
.popup_form{
position: absolute;
top: 50%;
left: 50%;
width: 640px;
height: 425px;
margin-top: -212px;
margin-left: -320px;
background-color: #D4D4D4;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
}
#popup_form:target{display: block;}

.forma_vvoda{
padding: 0px 20px;
display: inline-block;
}
.form_title{
color: #F4F4F4;
font-size: 1.57rem;
display: inline-block;
width: 600px;
background-color: #006699;
background-image: url(/images/pattern_12.png);
padding: 0px 20px;
margin:0px -20px;
}
h3{margin: 10px 0px;}
.form_title .title{
float: left;
margin: 15px auto;

}
.form_title .close{
display: block;
cursor: pointer;
background-position: 0px 4px;
color: #000;
float: right;
text-align: center;
position: absolute;
top: -20px;
right: -20px;
width: 40px;
height: 40px;
background-color: #006699;
background-image: url(/images/pattern_12.png);
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
line-height: 38px;
}
.form_title .close:hover{background-color: white;}

.order_personal_data{
margin-top: 10px;
}
.order_dop_data{
margin-bottom: 10px;
}
.tip{
line-height: 1.5;
padding-top: 5px;
}
.tip div{
float: left;
}
.tip>div{
padding-right: 10px;
}
.tip label{
display: block;
line-height: 1.55;
}
input[type=text]{
font-size: 1.21rem;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
height: 30px;
width: 257px;
padding: 0px 10px;
border: 1px solid #006699;
}
input[type=text] span{
font-size: 0.8rem;
}

input[type=checkbox]{
display: block;
margin: 7px 4px;
}

.order_personal_data textarea{
width: 265px;
height: 150px;
resize: none;
overflow: auto;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
border: 1px solid #006699;
padding: 0px 5px;
}
input[type="submit"]{
cursor: pointer;
width: 200px;
height: 40px;
text-align: center;
background-color: rgb(0, 102, 153);
color: rgb(255, 255, 255);
border: 2px solid;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
margin: 5px auto;
font-size: 1.51rem;
}
input[type="submit"]:hover{
background-color: rgb(255, 255, 255);
color: rgb(0, 102, 153);
border: 2px solid;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
}
input[type=file]{
position:absolute;
/*top: 194px;
left: 20px;*/

opacity: 0;
z-index: -100;
}

#uploadbutton{
position: absolute;
display:block;
float:left;
cursor:pointer;
width: 65px;
height: 26px;
line-height: 1.7;
text-align: center;
background-color: rgb(0, 102, 153);
color: rgb(255, 255, 255);
border: 2px solid;
border-radius: 0px 0px 0px 10px;
-moz-border-radius: 0px 0px 0px 10px;
-webkit-border-radius: 0px 0px 0px 10px;
margin: 5px auto;
font-size: 1rem;
z-index: 10;
}
#uploadbutton:hover{
background-color: rgb(255, 255, 255);
color: rgb(0, 102, 153);
border: 2px solid;
border-radius: 0px 0px 0px 10px;
-moz-border-radius: 0px 0px 0px 10px;
-webkit-border-radius: 0px 0px 0px 10px;
}
.upload_file{
margin-top: 10px;
}

.namefile{
position: inherit;
padding-top: 4px;
}
.order_personal_data fieldset{
border:1px solid #006699;
border-radius:0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
height: 100px;
}
.order_dop_data fieldset{
margin-top: 5px;
border:1px solid #006699;
border-radius:0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
padding-bottom: 0px;
}
.mail{
height: 100%;
width: 100%;
position: fixed;
top: 0px;
left: 0px;
background-color: rgba(0,0,0,0.50);
z-index: 9995;
}
.mail>div{
text-align: center;
padding-top: 10px;
height: 100px;
width: 270px;
position: absolute;
top: 45%;
left: 45%;
background-color: #D7D7D7;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
z-index: 9999;
}

a.mail:visited{color: #000;}
.left{
float: left;
}
.right{
float: left;
margin-left: 15px;
}
.submit{
padding-left: 55px;
}
#namefile{
font-size: 0.9rem;
width: 197px;
height: 30px;
border: 1px solid #006699;
background-color: white;
padding: 0px 10px 0px 70px;
border-radius: 0px 10px;
-moz-border-radius: 0px 10px 0px 10px;
-webkit-border-radius: 0px 10px 0px 10px;
}
/*всплывающая подсказка*/
#list{
overflow: auto;
}
#infofile{
font-size: 1rem;
line-height: 2;
}
#namefile span {
max-height: 400px;
margin-left: -999em;
position: absolute;
border-radius: 10px 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
}
#namefile:hover span {
font-family: Calibri, Tahoma, Geneva, sans-serif;
position: absolute;
left: 50px;
top: 225px;
z-index: 99991;
margin-left: 0;
width: 200px;
}
#namefile:hover img {
border: 0;
margin: -25px 0 0 190px;
float: left;
position: relative;
}
#namefile:hover em {
font-family: Candara, Tahoma, Geneva, sans-serif;
font-size: 1.5em;
font-weight: bold;
text-align: center;
display: block;
padding: 0 0 5px 0;
}
#uploadbutton span {
margin-left: -999em;
position: absolute;
border-radius: 10px 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
}
#uploadbutton:hover span {
color: #000;
line-height: 1;
text-align: left;
font-family: Calibri, Tahoma, Geneva, sans-serif;
position: absolute;
left: 1em;
top: 2em;
z-index: 99991;
margin-left: 0;
width: 200px;
}
#uploadbutton:hover img {
border: 0;
margin: -25px 0 0 190px;
float: left;
position: relative;
}
#uploadbutton:hover em {
font-family: Candara, Tahoma, Geneva, sans-serif;
font-size: 1.2em;
font-weight: bold;
text-align: center;
display: block;
padding: 0 0 5px 0;
}
#uploadbutton:hover li{
list-style-type: decimal;
}
#uploadbutton:hover ul{
margin-left: 15px;
}
.custom { padding: 0 10px 10px 10px; }

.classic { background: #FFFFAA; border: 1px solid #FFAD33; }

.critical { background: #FFCCAA; border: 1px solid #FF3334; }
.help { background: #9FDAEE; border: 1px solid #2BB0D7; }
.info { background: #9FDAEE; border: 1px solid #2BB0D7; }
.warning { background: #FFFFAA; border: 1px solid #FFAD33; }


JavaScript:

// JavaScript Document
function formOpenClose(n){
var x = document.getElementById('popup_form');
if(x.style.display == 'none'){
if(n == 2){
document.getElementById('title_form').innerHTML = 'Оценить заказ';
document.querySelector('input[name="go_order"]').value = 'Оценить заказ';
} else if(n == 1){
document.getElementById('title_form').innerHTML = 'Заказ';
document.querySelector('input[name="go_order"]').value = 'Отправить заказ';
}
x.style.display = 'block';
} else {
x.style.display = 'none';
document.getElementsByName('order')[0].reset();
document.getElementById('infofile').innerHTML = 'Загружено: 0 файлов';
document.getElementById('list').innerHTML = 'Файлы отсутствуют';
}
}


function check(){
var arr = ['name','email','tip','wuz','predmet','originalnost'];
var res = [];
var err = 0;
for(var i = 0; i < arr.length; i++){
if(arr[i] == 'tip'){
var tip = ['kursovaya','diplom','referat'];
for(var j = 0; j < tip.length; j++){
var b = document.getElementById(tip[j]);
if(b.checked == false){
err = 1;
} else {
err = 0;
break;
}
}

var a = document.getElementById('myFieldsetTip');
if(err != 0){
a.style.borderColor = 'red';
res.push('tip');
} else {
a.style.borderColor = 'blue';

}
}
else {
var y = document.querySelector('input[name="'+arr[i]+'"]');
if(!y.value){
y.style.borderColor = 'red';
res.push(arr[i]);
} else {
if(arr[i] == 'email'){
if(!makeCheck(y.value)){
y.style.borderColor = 'red';
res.push(arr[i]);
} else {
y.style.borderColor = '';
}
}
else {
y.style.borderColor = '';
}
}
}
}

if(res.length != 0){
return false;
} else {
if(document.querySelector('input[name="go_order"]').value == 'Оценить заказ'){
document.getElementById('myorder').value = 'Оцените заказ!';
}
}
}


function handleFileSelect(evt) {
/*var elem, evt=e?e:event;
elem = (evt.target)?evt.target:evt.srcElement;*/ //кроссбраузерность для IE


var att = document.getElementById('namefile');
var files = evt.target.files;
var filesize = 10*1024*1024; //10 Мб
var attachsize = 0;
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li style="list-style-type: cyrcle;"><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',f.size, ' bytes</li>');
var con = i+1;
attachsize += f.size;
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
if(con == 1) var okonch = '';
if(con >= 2 && con <=4) var okonch = 'а';
if(con > 4) var okonch = 'ов';
document.getElementById('infofile').innerHTML = 'Загружено: ' + con + ' файл' + okonch;
att.style.borderColor = '';

if(attachsize > filesize){
att.style.borderColor = 'red'; //указываем на ошибку - окрашиваем бордюр в красный цвет
document.getElementById('uploadbtn').value = ''; //очищаем аатач, если превышен размер
document.getElementById('infofile').innerHTML = 'Загружено: 0 файлов';
document.getElementById('list').innerHTML = 'Файлы отсутствуют';
}
}


function makeCheck(email){
var re = /^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,6}$/i;
/*/^[\w-\.]+@[\w-]+\.[a-z]{2,4}$/i;*/
//alert(re.test(email) ? 'Правильный адрес' : 'Неправильный адрес');

var c = re.test(email) ? true : false;
return c;
}

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.