我的问题是,我想调用的php函数中的Ajax与php函数相同并不起作用。我想这样做,当我按下按钮时,页面不会重新加载,并且将调用该功能。如果有意义的话,我把我的标签用ajax放在底部,php函数放在页面顶部。这是我的代码:
Ajax:
<script>
function getData() {
$.ajax({
type: "GET",
url: "view.php",
data: {action: 'PakeistiCashreg'},
success: function(data){
alert('Kasos aparatas sėkmingai pakeistas');
}
});
}
</script>
我想打电话给Php函数:
if(isset($_GET["action"])) {
if($_GET["action"] == "PakeistiCashreg") {
mysql_query("UPDATE ".$table['invoices']." SET `CashReg` = '".$_POST['CashRegInput']."' WHERE `id` = '156' LIMIT 1");
}
}
行动发生的按钮:
<form method="post"><?php echo CASHREG; ?>:<select name="CashRegInput" id="CashRegInput" class="Input3"><option></option>
<?php
foreach($CashReg as $key => $value) {
echo '<option value="'.$value.'">'.$value.'</option>';
}
?>
</select><button name="PakeistiCashreg" onclick="getData();" id="PakeistiCashreg">Pakeisti kasos aparatą</button></form>
答案 0 :(得分:0)
试试这个: 加价:
ref="ns1:venta"
脚本:
<form name="some-form" method="post" onsubmit="getData(event);">
<?php echo CASHREG; ?>:
<select name="CashRegInput" id="CashRegInput" class="Input3">
<option></option>
<?php
foreach($CashReg as $key => $value) {
echo '<option value="'.$value.'">'.$value.'</option>';
}
?>
</select>
<button type="submit" name="PakeistiCashreg" id="PakeistiCashreg">Pakeisti kasos aparatą</button>
</form>
让我知道它是否适合您。
答案 1 :(得分:0)
我不确定,但我认为你说你有一个文件view.php
,其中包含最初加载的页面和ajax调用的处理程序。如果那不是您所说的话,请忽略此答案。
执行ajax请求与加载页面不同。当客户端收到ajax响应时,它所做的只是调用适当的处理程序。在这种情况下,它所做的就是alert('Kasos aparatas sėkmingai pakeistas');
。它是在第一次加载页面时尝试运行处理程序的,除非您已在$_GET("action")
添加了一个应该阻止此操作的检查。您需要一个单独的URL和一个单独的ajax调用处理程序。例如,您可以将ajax调用URL更改为action.php
,然后将带有数据库调用的代码段移动到名为action.php
的单独文件中。
(实际上,PHP实际上只用于返回HTML,而不是用于ajax调用。所以最好用其他语言/框架中的处理程序替换action.php
。但PHP可以工作,而且在任何如果我对你的设置了解不多,建议如何做到这一点。)