2015-06-15 7 views
1

Alright, поэтому у меня есть основная форма на моей странице:Стоп форму от обновления страницы на отправить

 <form action='' id='formId' method='POST'> 
     <table> 
      <tr> 
       <td> 
        <input type='text' name='Chat' autocomplete='off'> 
       </td> 
       <td> 
        <input type='submit' name='Go'> 
       </td> 
      </tr> 
     </table> 
    </form> 

и браузер:

 <script type='text/javascript'> 
     $("#formId").submit(function(event) { 
      event.preventDefault(); 
       <?php 

        $Chat = mysql_real_escape_string(strip_tags($_POST['Chat'])); 
        $Go = mysql_real_escape_string($_POST['Go']); 

        if ($Go) { 

         if ($Chat) { 

          mysql_query("INSERT INTO `Chat` (`Chat`) 
          VALUES('$Chat')"); 
         } 

        } 

       ?> 
     }); 
    </script> 

мне просто нужен его остановить от освежающих когда кто-то подает. Я читал несколько разных сообщений здесь с той же проблемой, но никто не работал для меня.

+0

Знаете ли вы, что PHP выполняется на сервере, ** ** перед тем HTML/JavaScript отправляется клиенту? То есть код PHP здесь выполняется ** до того, как вызывается обработчик событий. См. Http://stackoverflow.com/q/13840429/218196. Для ясности вы должны поместить PHP в верхнюю часть файла, а не «произвольно» внутри HTML/JS. –

+0

Нет, не знал об этом! На данный момент я не очень разбираюсь в JS, все еще много, чтобы учиться. – Jayden82

+0

Это связано не столько с JavaScript, сколько с тем, как работает Web. Посмотрите ссылку в моем комментарии. –

ответ

2
$('#formId').submit(function() { 
/do your stuff 

return false; 
}); 

Возврат false предотвратит перезагрузку страницы.

+0

Кажется, все работает неправильно. Имеет ли значение, что она выводит информацию с помощью ajax из базы данных, к которой она отправляется? – Jayden82

1

Вам необходимо разделить PHP-код на ваш скрипт. PHP выполняется на стороне сервера, js/jquery выполняется на стороне клиента. Попробуйте этот код, если он вам поможет.

<?php 

    if(isset($_POST['Go'])){ 

     $Chat = mysql_real_escape_string(strip_tags($_POST['Chat'])); 
     $Go = mysql_real_escape_string($_POST['Go']); 

     if ($Go) { 

      if ($Chat) { 

       mysql_query("INSERT INTO `Chat` (`Chat`) 
       VALUES('$Chat')"); 
      } 

     } 
    } 

?> 


<form action='' id='formId' method='POST'> 
    <table> 
     <tr> 
      <td> 
       <input type='text' name='Chat' autocomplete='off'> 
      </td> 
      <td> 
       <input type='submit' name='Go'> 
      </td> 
     </tr> 
    </table> 
</form> 

<script type='text/javascript'> 
    $("#formId").submit(function(event) { 
     event.preventDefault(); 
    }); 
</script> 

REVISED: 06/15/2015 10:16 утра GMT + 8 Вам нужно использовать AJAX для отправки данных. Во-первых, добавьте идентификатор в текстовое поле, затем создайте файл php для получения данных из URL-адреса и вставьте чат в БД. Попробуйте этот код:

<form action='' id='formId' method='POST'> 
    <table> 
     <tr> 
      <td> 
       <input type='text' id='chat' name='Chat' autocomplete='off'> 
      </td> 
      <td> 
       <input type='submit' name='Go'> 
      </td> 
     </tr> 
    </table> 
</form> 


<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 
<script type='text/javascript'> 
    $("#formId").submit(function(event) { 
     event.preventDefault(); 

     $.ajax({ 
        type: "POST", 
        url: "insert_chat.php?", 
        data: "Chat="+$('input#chat').val(), 
        dataType: "json", 
        success: function(data){ 
        } 
       }); 
    }); 
</script> 

insert_chat.php

<?php 

    $Chat = mysql_real_escape_string(strip_tags($_GET['Chat'])); 
    $Go = mysql_real_escape_string($_GET['Go']); 

    if ($Go) { 

     if ($Chat) { 

      mysql_query("INSERT INTO `Chat` (`Chat`) 
      VALUES('$Chat')"); 
     } 

    } 

?> 
+0

Хм, он все еще освежает страницу. Он находится по адресу http://silverpanthergames.com/friendsplus/Chat.php. Все кажется правильным, не уверен, почему он не работает. – Jayden82

+0

ах. Прости. ваша цель - обновить шаг. Я пересмотрю свой код, а затем попробую. –

+0

Хорошо, спасибо. – Jayden82