2012-06-09 4 views
-2

Я действительно новичок в Javascript и его многочисленных блестящих библиотеках, я нахожу даже самые простые скрипты, которые сложно выполнить.Публикация данных через js/jQuery

Я хочу выучить этот язык, потому что он будет очень полезен для создания клиентских сайтов, однако на данный момент я пытаюсь сделать что-то относительно простое, это значит, что на моем сайте помечено личное сообщение. В большом списке есть много сообщений, и то, что я ищу, - это когда пользователь нажимает изображение «Флаг PM», он запускает flag.php в фоновом режиме, который изменит поле флага в MySQL с 0 на 1.

Этот сценарий зависит от одного поля, то есть id, поэтому я могу запустить его через базу данных. Во всяком случае, вот мой код;

flag.php

require('_inc/_core/core.php'); // inc core_funcs for sql & clean 
$pm_id = clean($_POST['p_id']); // create new variable, clean the post 
echo "The ID for the PM is " . $pm_id; 
mysql_query("UPDATE `messages` SET `flag_status` = 1 WHERE `id` = {$pm_id}"); // update the db 

JS/JQuery

 // Flag a Personal Message 
$("#flagPM").submit(function(event) { 
    event.preventDefault(); 
    $.post("flag.php", { p_id: pm_id }); 
    alert(event); 
}); 

HTML обработки формы

<form action="#" id="flagPM"><input type="hidden" id="pm_id" value="$id" /> 
     <input type="submit" class="submit" value="FLAG" /></form> 

Так есть скрытое поле ввода с именем pm_id, которое содержит то, что я хочу опубликовать.

действительно ценят бы некоторую помощь, то браузер запускается с независимым файлом, который два справочника из flag.php

Спасибо

+3

Итак, в чем вопрос? PS: вы отправляете '$ .post()' и обрабатываете '$ _GET'. Выглядит несовместимо – zerkms

+1

вы используете метод POST для публикации данных, а затем используя $ _GET, чтобы получить его. Он должен быть в $ _POST ['id']. Также в вашем javascript вы не присвоили значение переменной id. Вы должны заполнить его нужным значением –

+0

Извините, что это даже не тот файл, который я обновляю с правильным кодом, извините за это! –

ответ

2

Javascript которая запускается из независимого файла, это два справочника из flag.php

В этом случае просто делать:

$.post("flag.php", { id: id }); 

обыкновение достигать файла flag.php, необходимо указать правильный путь, включая имена папок, которые вы упомянули:

$.post("folder1/folder2/flag.php", { id: id }); 

Кстати, вы должны использовать функцию обратного вызова для функции $.post знать, что сообщение возвращается flag.php:

$.post("flag.php", { id: id }, function(data){ 
    alert(data); 
}); 

от вашего flag.php, убедитесь, что echo что-то так, что вы получите, что ответ на ваш АЯКС обработчика:

// your other code here, such as query, etc 
echo 'whatever...'; 
+0

Я только что обновил свой пост с большей частью того, что вы сказали, когда я нажимаю кнопку Я не получаю окно предупреждения, содержащее данные, а это означает, что он не запускает JavaScript? –

+2

@ Jake Ball: это означает, что программирование - это нечто большее, чем просто копирование и вставка. – zerkms

+0

Ну, можете ли вы связать меня с соответствующей документацией, потому что я нахожусь в глубине здесь, я никогда не делал много js/jquery в свое время, поэтому я не знаю, что может быть достигнуто и как это может быть достигнуто, как я изложил в своем OP. –

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