<script type="text/javascript">
// По готовности страницы, вешаем на форму обрабочтик onsubmit инлайново:
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('form#FORM_ID').setAttribute('onsubmit', 'event.preventDefault(); form_send(this);');
});
// Фуцнкция для отправки формы на чистом JavaScript:
function form_send(form) {
var url = form.getAttribute('action') + '?time=' + new Date().getTime();
var xhr = new XMLHttpRequest(); xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
form.setAttribute('onsubmit', 'event.preventDefault();');
form.innerHTML = xhr.responseText;
}
else {
alert('При отправке формы произошла ошбика, детали смотрите в консоли.');
console.log('При отправке формы произошла ошбика, ниже объект с деталями ошибки:');
console.dir(xhr);
}
}
}
xhr.send(new FormData(form));
}
</script>
<script type="text/javascript">
// По готовности страницы, вешаем на форму обрабочтик onsubmit инлайново:
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('form#FORM_ID').setAttribute('onsubmit', 'event.preventDefault(); form_send(this);');
});
// Фцнкция для отправки формы на чистом JavaScript:
function form_send(form) {
var url = form.getAttribute('action') + '?time=' + new Date().getTime();
var xhr = new XMLHttpRequest(); xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
form.setAttribute('onsubmit', 'event.preventDefault();');
form.innerHTML = xhr.responseText;
}
else {
alert('При отправке формы произошла ошбика, детали смотрите в консоли.');
console.log('При отправке формы произошла ошбика, ниже объект с деталями ошибки:');
console.dir(xhr);
}
}
}
xhr.send(new FormData(form));
}
</script>
function send_form() {
var send_text = 'Проверка';
var xhr = new XMLHttpRequest();
var body = 'text=' + encodeURIComponent(send_text);
xhr.open('POST', 'send.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
alert(xhr.responseText);
}
}
xhr.send(body);
}
<?php
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = @$_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client;
elseif(filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward;
else $ip = $remote;
echo $ip;
?>