在AJAX中帮助3个按钮

时间:2011-05-22 14:14:48

标签: php mysql ajax

我想添加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)?

2 个答案:

答案 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,您的问题将得到解决。