2015-04-17 7 views
0

Я работаю в чате php, и все работает хорошо, но я хотел ajax для остановки страницы обновления.Форма чата не отправляется

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("#submit").on("click", function (event) { 
     event.preventDefault(); 
     $.ajax({ 
      type: "POST", 
      url: "index.php", 
      data: $("#chat").serialize(), 
      success: function() { 
       alert('lorem ipsum'); 
      } 
     }); 
    }); 
}); 
</script> 

<form name="chat" action="" method="post" id="chat"> 
<b>Msg:</b> 
<input type="text" name="msg" size="30" class="text"> 
<input type="submit" name="submit" value="Send!" class="bttn" id="submit"> 
<input type="hidden" name="lastcat" value="<?php echo $simplecat; ?>"> 
<input type="hidden" name="lastwas" value="<?php echo $command; ?>"> 
</form> 

<hr> 
<div class="leftalign"> 
    <b class="yousay">You say:</b> <?php echo stripslashes($usermessage); ?><br /><br /> 

<b class="catsays">Cat replies:</b> <?php echo $catreply;?><br /><br /> 

я вижу окно ГЗС и обыкновение обновления страницы, но мой $ _POST [ «сбщ»] пусто, так что я пропустил?

ответ

1

Вы не очень ясно, где ваше сообщение должно идти, но это должно исправить ... в какой-то степени:

page1.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("#submit").on("click", function (event) { 
     event.preventDefault(); 
     $.ajax({ 
      type: "POST", 
      url: "index.php", 
      data: $("#chat").serialize(), 
      success: function (response) { 
       alert('lorem ipsum'); 
       // You need somewhere to drop the response into. 
       // I've chosen the id "response" 
       $("#response").html(response); 
      } 
     }); 
    }); 
}); 
</script> 

<form name="chat" action="" method="post" id="chat"> 
<b>Msg:</b> 
<input type="text" name="msg" size="30" class="text"> 
<input type="submit" name="submit" value="Send!" class="bttn" id="submit"> 
<input type="hidden" name="lastcat" value="<?php echo $simplecat; ?>"> 
<input type="hidden" name="lastwas" value="<?php echo $command; ?>"> 
</form> 
<hr> 
<div class="leftalign"> 
    <!-- I replaced your php response with where the AJAX should drop in --> 
    <b class="yousay">You say:</b><div id="response"></div><br /><br /> 
    <b class="catsays">Cat replies:</b> <?php echo $catreply;?><br /><br /> 

index.php

<?php if(isset($_POST['msg'])) { print_r($_POST); return; } ?> 
+0

Мое сообщение должно быть на той же странице только под моим кодом у меня есть if (isset ($ _ POST ['msg'])) { bla bla bla } –

+0

Да, посмотрим, где я его разместил. Для этого нужно две страницы. Один с вашей формой, один для продолжения запроса PHP. – Rasclatt

+0

ho ok я вижу его, почему ничего не работает, если я использую ту же страницу –

Смежные вопросы