2013-04-17 86 views
0

我有两个预备/接下来的调用getJSON。我想改变一个查询,如果任何按钮被点击的话,按钮是什么。这里是我的按钮和getjson statments如何判断点击了哪个按钮?

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

我想要做类似下面使用LoadNumber从GET。

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)' 
}; 
+4

您的代码目前[容易](http://xkcd.com/327/)。 –

+0

与事件对象检查: http://stackoverflow.com/questions/10428562/how-to-get-javascript-event-source-element – elopez

回答

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 [“方向”],看看如果你打算下一个或上。

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

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

+0

我真的希望它是SSSET。我认为这是我需要去的方向,但现在我遇到了问题,查询中的变量没有运行。我收到一个网络错误500内部服务器错误。 –

+0

如果你复制了我写的内容,那么URL中的空间不应该在那里。我编辑过。确保你的标题发送正确(你可以在控制台中使用firebug或chrome(网络)(两个浏览器上的f12)来查看参数是否被正确发送) – Bene

+0

我认为这与引用有关。我有查询='选择从哪里'$ var'orderby'; –

0

我可能是错的,但我相信,如果要访问“LoadNumber”在$ _GET超级全局,那么你需要在一个对象通过像这样在$ .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请求的方法,所以如果你在一个对象传递与为$就只是速记你正在寻找什么的关键,然后我的猜测是$ .getJSON将把它放到$ _GET中供你抓取。另外Kolkin是正确的,这个代码很容易被SQL注入,你应该永远不要将数据从$ _GET,$ _POST或$ _REQUEST直接插入到你的SQL查询中,而不需要过滤它。您可能会将代码打开到可能会清除数据库中的数据或访问敏感数据并将其返回的恶意注入。

希望这会有所帮助。

相关问题