Помогите решить проблему с отправкой формы без перезагрузки страницы

программирование php JavaScript AJAX

При нажатии на кнопку отправки формы выполняется javascript и после выполнения JS, форма повторно отправляется и выводится результат выполнения формы.

Код index.html:
<script type="text/javascript" src="js/jquery-latest.js"></script>
<script type="text/javascript">
function send()
{
var info = $('#info').val()
var dtafter = $('#dtafter').val()
var status = $('#status').val()
var id_data = $('#id_data').val()
$.ajax({
type: "POST",
url: "listsdata.php",
data: "info="+info+"&dtafter="+dtafter+"&status="+status+"&id_data="+id_data,
success: function(html) {
$("#result").empty();
$("#result").append(html);
}
});
}
</script>

<?php
echo "<form name=\"add_form\" action=\"\" id=\"add_form\" method=\"post\">";
echo "<input type=\"hidden\" name=\"id_data\" id=\"id_data\" value=\"".$rows['id']."\" />";
echo "<i>Статус</i><br /><input name=\"status\" size=\"50px\" type=\"text\" value=".$rows['4']."><br />";
echo "<br /><i>Дополнительная информация</i><br /><input name=\"info\" id=\"info\" size=\"50px\" type=\"text\" value=\"".$rows['5']."\"></div>";
echo "<br /><i>Дата/Время перезвона</i><br /><input name=\"dtafter\" id=\"dtafter\" idx=\"dtafter".$rows['id']."\" size=\"50px\" type=\"text\" value=\"".$rows['dtafter']."\"><br /></div>";
echo "<input type=\"submit\" value=\"Сохранить\" onclick=\"send();\" />";
echo "<br /><br /><hr /><br />";
echo "</form>";
echo "<div id=\"result\"></div>";
}

Код listsdata.php:
<?php
session_start();
if(isset($_POST['id_data']))
{
include("config.php");
// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
//$result = mysql_query($link) or die(mysql_error());

// Выбираем нашу базу данных
mysql_select_db($dbname, $link);

// Запрашиваем
$result = mysql_query($query, $link);

mysql_query("set character_set_client='cp1251'");
mysql_query("set character_set_results='cp1251'");
mysql_query("set collation_connection='cp1251'");

$id_data = $_POST['id_data'];
$status = $_POST['status'];
$info = $_POST['info'];
$info = strip_tags($info);
$dtafter = $_POST['dtafter'];

//$query = "UPDATE `dealer_xls_test` SET `1`='".$row['first']."', `2`='".$row['middle']."', `3`='".$row['last']."', `4`='', `5`='', `login`='".$_POST['operator']."'";
$query = "UPDATE `dealer_xls_test` SET `4`='".$status."', `5`='".$info."', `dtafter`='".$dtafter."' WHERE `id`='".$id_data."' LIMIT 1";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());

// Закрываем соединение
mysql_close($link);

echo "OK";
}
?>

Примечание:
Библиотека скачана с http://jquery.com/
Внешние библиотеки подключать буду только в самом крайнем случае, так как при падении Интернета на сервере, сайты перестанут работать, на которых библиотека подключена by Интернета.
Ответы:
Подключай не собственные библиотеки js, а с гугла, например или с bing
echo "<input type=\"submit\" value=\"Сохранить\" onclick=\"send(); return false;\" />";
Эту строчку echo "<input type=\"submit\" value=\"Сохранить\" onclick=\"send();\" />";
измени на эту echo "<input type=\"button\" value=\"Сохранить\" onclick=\"send();\" />"
А вообще для форм JQuery form plugin)))


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.