我想添加3个具有不同操作的按钮。我已经制作了处理这些操作的PHP代码,但为了通过ajax和方法GET获取我需要的操作来添加2个参数: id 和 act 。我以一种非常原始的方式做到了这一点!它不起作用,因为它只获得第一个id="act"
(在这种情况下是删除),无论我点击什么!:
<form>
<input type="hidden" id="act" value="delete">
<input type="hidden" id="id" value="'.$row['order_id'].'">
<input type="button" id="delete" value="delete" onclick="ajaxFunction()">
</form>
<form>
<input type="hidden" id="act" value="edit">
<input type="hidden" id="id" value="'.$row['order_id'].'">
<input type="button" id="edit" value="edit" onclick="ajaxFunction()">
</form>
这是AJAX功能:
<script language="javascript" type="text/javascript">
<!--
//Browser Support Code
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.myForm.time.value = ajaxRequest.responseText;
}
}
var id = document.getElementById(\'id\').value;
var act = document.getElementById(\'act\').value;
var queryString = "?id=" + id + "&act=" + act;
ajaxRequest.open("GET", "classes/ajaxed/reservation_functions.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
</script>
所以我的问题是如何使用删除,编辑,打印和每个按钮发送这3个按钮GET方法正确的ID和ACTION(id&amp; act)?
答案 0 :(得分:1)
简化标记:
<button onclick="ajaxFunction('delete', '<?php echo $row['order_id']; ?>')">Delete</button>
<button onclick="ajaxFunction('edit', '<?php echo $row['order_id']; ?>')">Edit</button>
<button onclick="ajaxFunction('print', '<?php echo $row['order_id']; ?>')">Print</button>
需要改变你的JS功能:
function ajaxFunction(action,id){
...
var queryString = "?id=" + id + "&act=" + action;
...
}
答案 1 :(得分:0)
主要原因是有两种形式,它们都有两个具有相同ID的按钮,即 id和act 。
因此,更改ID,您的问题将得到解决。