Witam, to znowu ja

Szukałem w necie poradników jak zrobić żeby dane z formularza przechodziły przez php i wyświetlone zostały na stronie bez refreshu strony...
Znalazłem w necie kilka poradników i mam taką "sklejkę"

Index.html
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="style.css" />
<input type="text" id="name" name="name" class="name" placeholder="login..."/> <input type="submit" id="submit" name="submit" value="OK!"/>
Show.php
<?php
if($_POST) {
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
$answer = json_encode
(array('result' => 'error', 'text' => 'To nie jest żądanie AJAX')); }
else {
$login = filter_var($_POST["login"], FILTER_SANITIZE_STRING);
$answer = json_encode
(array('result' => 'error', 'text' => 'Przynajmniej 5 znaków!')); }
else {
$answer = json_encode
(array('result' => 'ok', 'text' => 'Witaj,'. $login. ' !')); }
}
}
Javascript
$(document).ready(function() {
$("#submit").click(function() {
var login = $('input[name=name]').val();
var next = true;
if(login==""){
$('input[name=name]').css('border-color','red');
next = false;
}
if(next){
post_data = {'login':login};
$.post('show.php', post_data, function(response){
if(response.result == 'error'){
output = '
<div class="error">'+response.text+'
</div>';
}
else{
output = '
<div class="success">'+response.text+'
</div>';
$('#name').val('');
}
$("#result").hide().html(output).slideDown();
}, 'json');
}
});
$("#name").keyup(function() {
$("#name").css('border-color','grey');
});
});
Dodałem też że jak się nie wypełni pola to się obramowanie zmieni na czerwone, to przynajmniej działa

Nakieruje ktoś coś?
Ten post edytował Fred1485 12.03.2015, 14:12:53