Я не могу понять, почему этот скрипт не работает. Это связано с чем-то внутри скрипта / функции AJAX POST. Прямо сейчас, когда я нажимаю «отправить» в моей форме, он запускает код php на той же странице. Для этого нужно отправить значения формы в project_ajax.php, а затем на странице вернет переменную успеха, которая будет истинной или ложной.
$(document).ready(function () {
$('div#didIt').hide();
$('form[name=adminForm]').submit(function () {
$.post('/project_ajax.php', {
action: $('[name=action]').val(),
pId: $('[name=pId]').val(),
name: $('[name=name]').val(),
url: $('[url=url]').val(),
summary: ('[summary=summary]').val()
}, function (data) {
if (data.success) {
$('div#didIt').slideDown('slow');
} else {
alert('Failed SA!');
}
}, 'json');
return false;
});
});
Ниже приведен код для project_ajax.php ...
if($_POST['action'] == "update") {
//Prep the field for Query Entry!-----------------------------------
$pId = $_POST['pId'];
$name = trim(mysql_prep($_POST['name']));
$status = 1;
$url = trim(mysql_prep($_POST['url']));
$tumb = false; //False because I still need to make a script for it.
$summary = trim(mysql_prep($_POST['summary']));
$creater = $_SESSION['userId'];
$created = date("Ymd");
$q = "UPDATE " . DB_NAME . ".`projects` SET
name = '{$name}',
status = '{$status}',
url = '{$url}',
summary = '{$summary}',
creater = '{$creater}',
created = '{$created}'
WHERE `projects`.`id` = {$pId}";
$r = mysql_query($q, $connection);
if ($r) {
//Successful
$data['success'] = true;
$date['error'] = false;
$date['message'] = "You are the Greatest!";
} else {
//Fail
$data['success'] = false;
$data['error'] = true;
$date['message'] = "You can't do it fool!";
}
} else {
$data['success'] = false;
$date['error'] = true;
$data['message'] = "You Failed Stupid!";
}
echo json_encode($data);
Примечание: при загрузке этой страницы. Браузер никогда по-настоящему не загружается. Синее кольцо на вкладке заголовка в IE8 вращается, как будто страница никогда не загружается.