如何判断单击了哪个按钮?

时间:2013-04-17 18:55:48

标签: php javascript jquery

我有两个前/下一个叫getJSON。我想改变一个查询,如果点击了什么按钮,那么该查询将停止。这是我的按钮和getjson个陈述

<input class="buttonsr" type="button" onClick="next()" name="NextLoad" value="Next Load"><input class="buttonsr" type="button" onClick="prev()"name="PrevLoad" value="Prev. Load">
$.getJSON("loadloads.php", document.getElementById('LoadNumber').value, jsonhandler)

我想使用GET中的LoadNumber来执行类似下面的操作。

if isset($_GET['prev']){
    $find = 'Where L.$_GET['LoadNumber'] > (max)LoadNumber FROM tblLoads'
}
if isset($_GET['next']){
    $find = 'Where L.$_GET['LoadNumber'] < (min)LoadNumber FROM tblLoads'
}
else{
    $find = 'L.LoadNumber = (SELECT MAX(LoadNumber) FROM tblLoads)'
};

2 个答案:

答案 0 :(得分:0)

您应该使用相同的功能,只需将参数传递给服务器即可。像

这样的东西
<input class="buttonsr" type="button" onClick="page('next')" name="NextLoad" value="Next    Load">

function page(direction) {
   $.getJSON("loadloads.php?direction="+direction,document.getElementById('LoadNumber').value,jsonhandler)
}

在服务器端,使用$ _GET ['direction']来查看你是下一个还是上一个。

if ($_GET['direction'] == 'next') { 
   // GO NEXT
} else {
   // GO PREV
}

顺便说一下,“isset()”只需要2“s”;) 希望这有所帮助,如果我错过了这一点,你可以发表评论!

答案 1 :(得分:0)

我可能错了,但我相信如果你想在$ _GET超级全局中访问“LoadNumber”,那么你需要在$ .getJSON中传入一个数据参数的对象,如下所示:

    $.getJSON("loadloads.php", { LoadNumber:$('#LoadNumber').val() }, jsonhandler);
    // NOTE: I used jquery shorthand instead of document.getElementById() to get the value
    // simply to shorten it up.

我之前没有使用$ .getJSON(),但是从文档中: http://api.jquery.com/jQuery.getJSON/
它说$ .getJSON只是使用get请求方法的$ .ajax的简写,所以如果你传入一个带有你正在寻找的键的对象,那么我的猜测是$ .getJSON会把它放到$ _GET中给你抓斗。

另外Kolkin是正确的,这段代码容易受到SQL注入攻击,你应该永远不要将$ _GET,$ _POST或$ _REQUEST中的数据直接插入到你的SQL查询中而不过滤它。您可能会将代码打开以进行恶意注入,这可能会消除数据库中的数据或访问敏感数据并将其返回。

希望这有帮助。