У меня есть три кнопки, и мне нужно сохранить некоторые данные. У меня есть идея, я должен установить идентификатор для каждой кнопки, а затем позволить JS определить кнопку ведьмы, которая была нажата, например:
$("#mySpecifikButton").click(function()
{
....some code here...
});
но потом я застрял. Например у меня 9 пользователей. Все они имеют ID в базе данных. Итак, теперь у нас есть все пользователи в отдельных строках:
<p><a id = "userID">user 0</a></p>
<p><a id = "userID">user 1</a></p>
<p><a id = "userID">user 2</a></p>
<p><a id = "userID">user 3</a></p>
...
Когда я нажимаю на конкретного пользователя, я хочу добавить его в базу данных через php с помощью jquery. Но как мне отправить его на php с помощью JS (jquery)?
Я правильно думаю или есть способы получше?
Если я плохо описал это, спросите меня.






Из того, что я вижу, вы можете использовать Ajax для отправки значения кнопки, которая была нажата, в скрипт php. Найдите в сайт jQuery документацию по $ .get и $ .post. :)
Обновлено: теперь, когда меня нет на iPod, набирать текст будет намного проще. :П
Вот что я имею в виду:
<input type = "button" value = "Button 1" id = "1" />
<input type = "button" value = "Button 2" id = "2" />
<input type = "button" value = "Button 3" id = "3" />
<input type = "button" value = "Button 4" id = "4" />
Затем используйте JS:
<script type = "text/javascript">
$("input[type=button]").click(function() {
$.post("myPHPscript.php",{buttonID: $(this).attr("id")},function(d) {
//d is the response from the PHP page.
//Do something with it!
});
});
</script>
Для этого не обязательно использовать jquery. Это просто через ajax.
пользователь 0
пользователь 1
пользователь 2
пользователь 3
------------------------------ Файл script.js ---------------- --------------------
var xmlHttp;
ajaxFunction(id){
url = anypage.php?Sentid=id; // here you are sending id through GET to any simple db connection mysql and php based page to add to db or anyother function.
xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true) xmlHttp.send(null)
}//end of function
function stateChanged(){
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete" ){ // any operation you want to perform here
}//end of if
}//end of function
function GetXmlHttpObject(){
var xmlHttp =null;
var xmlHttp =null;
if (window.XMLHttpRequest){
// If IE7, Mozilla, Safari, etc: Use native object
var xmlHttp = new XMLHttpRequest()
}
else {
if (window.ActiveXObject){
// ...otherwise, use the ActiveX control for IE5.x and IE6
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}//end of function
Если Adis уже использует jQuery (судя по всему, это так), это может показаться излишним.
Похоже, вы вносите изменения в базу данных, я бы рекомендовал использовать $.post( url, [data], [callback], [type] );ссылка на сайт. Вы можете просто отправить форму на сервер и работать с ней, как с любой другой публикацией формы.
Вы можете использовать AJAX для отправки запроса на страницу PHP (как упоминалось выше с $.post). Самый простой способ - создать страницу PHP, скажем, /insert.php:
<?php
some_insert_function($_REQUEST["userid"], ...);
?>
затем используйте:
function go(el) {
$.post("/insert.php?items = "+el.id);
}
Обновлено: Вы также должны добавить некоторую визуальную индикацию того, что данные были отправлены - по крайней мере, сообщение строки состояния (setStatus("Sent data"), хотя они не всегда работают), но предпочтительно изменение цвета или сообщение-в-div.
d будет содержать вывод php-скрипта. вместо d вы можете использовать response, поскольку он более информативен.