2012-06-01 2 views
0

Моя цель - отправить идентификатор кнопки, используя jquery в базу данных, которую интересует только кнопка, а не ее значение.нажмите и отправьте идентификатор кнопки с jQuery

$("#button").click(function() { 
    var p = $(this).attr("id"); 

    $.ajax({ 
     type: "POST", 
     url: "subpage.php", 
     data: 'b=' + p, 
     cache: false, 
     success: function(html) { 
      //process live 
     } 
    }); 
    return false; 
}); 

subpage.php

$item = $_POST['b']; 
$query = mysql_query("SELECT * FROM table WHERE id = '25' AND bttnid = '$item'"); 
if(count($query)==0){ 
    mysql_query("INSERT INTO table VALUES ('','25','$item') "); 
} 

он не представляет. пожалуйста assit

+0

Вы пропускаете в кавычки URL URL : 'subpage.php" '->' url: "subpage.php" ' –

+0

подсветка синтаксиса stackoverflows предполагает, что отсутствует' '' before' subpage.php' – Roman

+0

, что является опечаткой извините об этом – user836910

ответ

0

проблема не в JQuery, проблема заключается в операторе PHP .. изменилось

if(count($query)==0){/../} 

в

if(mysql_num_rows($query)==0){/../} and it works. 
+0

Если правильный ответ уже был отправлен кем-то другим, обычно принято верить, что он вместо того, чтобы отправлять один и тот же, а затем принимать свой собственный ответ. – ThiefMaster

0

Фикс цитаты и сделать это как,

$.ajax({ 
    type: "POST", 
    url: "subpage.php", 
    data: {b: p}, 
    cache: false, 
    success: function(html) 
    { 
    //process live 

    } 
}); 

Пусть JQuery обрабатывать urlencoding данных объекта

0

count($query) неправильно. Вы должны использовать mysql_num_rows($query), чтобы получить количество возвращенных строк.

Кроме того, используйте {b: p} для data вместо строки так JQuery правильно кодирует p (хотя это, скорее всего, не нужно в данном конкретном случае, поскольку идентификаторы не должны содержать какие-либо специальные символы в любом случае).

0

Только 1 предложение здесь: вы обязательно должны взглянуть на JQuery API, который может дать вам ответы вы ищете :)

Например: (пример взят из .ajax() API страница)

var menuId = $("ul.nav").first().attr("id"); 
var request = $.ajax({ 
    url: "script.php", 
    type: "POST", 
    data: {id : menuId}, 
    dataType: "html" 
}); 

request.done(function(msg) { 
    $("#log").html(msg); 
}); 

request.fail(function(jqXHR, textStatus) { 
    alert("Request failed: " + textStatus); 
}); 

У вас уже есть шаблон здесь, и все, что вам осталось сделать, это просто изменить исходные значения в те, что вы используете в своем веб-приложении.

Ссылка: http://api.jquery.com/jQuery.ajax/

+0

По-моему, это плохой способ узнать, вы должны написать его сами с нуля, понимая все код и аргументы и т. Д., А не копировать вставку, а затем менять несколько строк. –

+0

Несомненно, пример не предназначен для слепого копирования и вставки. Это просто способ, которым провайдеры читают лучшее понимание предмета. Мой POV был бы - начните с некоторых примеров, прочитайте описания api, получите лучшее представление о том, что он делает, а затем напишите код, основанный на вашем собственном понимании. – woodykiddy

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