Уважаемые коллеги, столкнулся с вопросом, не работает в ajax в IE В друг. браузерах всё ок...
$(".ok_change").click( function() {
var name = $("#reg_name").val();
var fone = $("#reg_fone").val();
var old_passw = $("#old_passw").val();
var new_passw = $("#new_passw").val();
var new_passw_2= $("#new_passw_2").val();
var comp_name_r= $("#comp_name_r").val();
var comp_rec= $("#comp_rec").val();
var add_cont= $("#add_cont").val();
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange=function(){
if (xhttp.readyState==1) {
}
if (xhttp.readyState==4 && xhttp.status==200) {
$(".change_err").html(xhttp.responseText);
if ($(".change_ok").val() == "ok") {
$(".ok_change").mouseleave(function(){
$(this).css({"background-color":"#67c347"});
});
$(".ok_change").mouseover(function(){
$(this).css({"background-color":"#67c347"});
});
$(".ok_change").css({"background-color":"#67c347"});
setTimeout(function() {location.reload();}, 1500 );
}
}
}
var task="/forms/change.php";
var params = "name="+name+"&fone="+fone+"&old_passw="+old_passw+"&new_passw="+new_passw+"&new_passw_2="+new_passw_2+"&comp_name_r="+comp_name_r+"&comp_rec="+comp_rec+"&add_cont="+add_cont;
console.log(params);
xhttp.open("POST",task+"?",true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(params);
});
<?php
session_start();
mb_internal_encoding("UTF-8");
$mysqli = mysqli_connect("localhost", "root", "root", "exitauto");
if (mysqli_connect_errno($mysqli)) {
echo "Не удалось подключиться к MySQL - Базы запчастей: " . mysqli_connect_error();
}
mysqli_set_charset($mysqli, 'utf8');
$name = $_POST['name'];
$fone = $_POST['fone'];
$old_passw = $_POST['old_passw'];
$new_passw = $_POST['new_passw'];
$new_passw_2 = $_POST['new_passw_2'];
$comp_name_r = $_POST['comp_name_r'];
$comp_rec= $_POST['comp_rec'];
$add_cont= $_POST['add_cont'];
$sql = "SELECT * FROM `users` WHERE `id` = '".$_SESSION['user_id']."'";
$qr = mysqli_query($mysqli, $sql);
$row = mysqli_fetch_assoc($qr);
if ($new_passw == "") {
if (mb_strlen($name, 'UTF-8') < 2) {
echo "<span class=reg_err_text>Вы имя - не менее 2х символов</span>";
}
elseif (preg_match("/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/", $fone) <> 1) {
echo "<span class=reg_err_text>Телефон можест состоять только из цифр и знака +</span>";
}
elseif ($comp_name_r <> "undefined" and mb_strlen($comp_name_r) < 3) {
echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели Наименование компании (не менее 3-х символов).";
}
elseif ($comp_rec <> "undefined" and strlen($comp_rec) < 20) {
echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели реквизиты компании (не менее 20-и символов) Реквизиты нужны для формирования счетов.";
}
else {
$sql = "UPDATE `users` SET `first_name` = '".$name."', `fone` = '".$fone."', `com_name` = '".$comp_name_r."', `com_rec` = '".$comp_rec."', `com_add` = '".$add_cont."' WHERE `id` = '".$_SESSION['user_id']."'";
echo "<span style='color:green;'>Успех.</span> Данные сохранены, страница будет обновлена. <input type=hidden class=change_ok value=ok>";
mysqli_query($mysqli, $sql);
$_SESSION['user_firstname'] = $name;
}
}
else {
if (mb_strlen($name, 'UTF-8') < 2) {
echo "<span class=reg_err_text>Вы имя - не менее 2х символов</span>";
}
elseif (preg_match("/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/", $fone) <> 1) {
echo "<span class=reg_err_text>Телефон можест состоять только из цифр и знака +</span>";
}
elseif ($comp_name_r <> "undefined" and mb_strlen($comp_name_r) < 3) {
echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели Наименование компании (не менее 3-х символов).";
}
elseif ($comp_rec <> "undefined" and strlen($comp_rec) < 20) {
echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели реквизиты компании (не менее 20-и символов) Реквизиты нужны для формирования счетов.";
}
elseif ($old_passw <> $row['password']) {
echo "<span class=reg_err_text>Старый пароль введён не верно</span>";
}
elseif (strlen($new_passw) < 7) {
echo "<span class=reg_err_text>Ошибка!</span>Новый пароль должен быть не меннее 7-и символов в длинну";
}
elseif (preg_match("/^[a-zA-Z0-9_\-.]+$/", $new_passw) <> 1) {
echo "<span class=reg_err_text>Ошибка!</span> Новый пароль должен состоять только из латинских строчных и заглавных букв и цифр!";
}
elseif ($new_passw <> $new_passw_2) {
echo "<span class=reg_err_text>Ошибка!</span> Новые пароли не совпадают";
}
else {
$sql = "UPDATE `users` SET `password` = '".$new_passw."', `first_name` = '".$name."', `fone` = '".$fone."', `com_name` = '".$comp_name_r."', `com_rec` = '".$comp_rec."', `com_add` = '".$add_cont."' WHERE `id` = '".$_SESSION['user_id']."'";
echo "<span style='color:green;'>Успех.</span> Данные сохранены, страница будет обновлена. <input type=hidden class=change_ok value=ok>";
mysqli_query($mysqli, $sql);
$_SESSION['user_firstname'] = $name;
}
}
?>
В чём может быть проблема?