jquery& php:保存一些数据而不重新加载

时间:2009-01-03 18:35:49

标签: php jquery

我有三个按钮,需要保存一些数据。我有一个想法,我必须为每个按钮设置一个ID,然后让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>
...

当我按下一个特定用户时,我希望借助jquery将它添加到db中。 但是如何用JS(jquery)将它发送到php?

我是正确思考还是有更好的方法?

如果我没有好好描述,请问我。

4 个答案:

答案 0 :(得分:4)

从我所看到的,您可以使用Ajax将已按下的按钮的值发送到php脚本。在jQuery site上搜索有关$ .get和$ .post的文档。 :)

编辑:现在我不在我的iPod上,打字会更容易。 :P

这就是我的意思:

<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>

答案 1 :(得分:1)

听起来您正在对数据库进行更改,我建议您使用$.post( url, [data], [callback], [type] ); link。您可以将表单发布到服务器并像处理任何其他表单一样处理它。

答案 2 :(得分:0)

你不必为此使用jquery。它简单通过ajax。

用户0

用户1

 

用户2

用户3

------------------------------ script.js File ------------- -----------------------

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

答案 3 :(得分:0)

您可以使用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。