make sql delete按钮提交表单

时间:2015-11-18 15:44:04

标签: javascript php mysql

我有这个功能:

function delete_id(id)
{
    if(confirm('Sure To Remove This Record ?'))
    {
        window.location.href='?delete_id='+id;
    }
}

表html表中的这个按钮(从mysql生成):

<td align="center"><a href="javascript:delete_id(<?php echo $rowdetails["ID"]; ?>)"><img src="images/b_drop.png" alt="Delete" /></a></td>

现在该按钮使用删除查询从数据库中删除行但是是否可以使此按钮也提交此表单并继续像以前一样删除行:

<form name="statuschange" action="changestatus.php" method="post">
<input type="hidden" name="status" value="<?php echo $rowdetails["InvoiceDetailID"]; ?>">
</form>

我也尝试了但是它不起作用:

function delete_id(id)
    {
        if(confirm('Sure To Remove This Record ?'))
        {
            window.location.href='?delete_id='+id;
            document.statuschange.submit();
        }
    }

4 个答案:

答案 0 :(得分:1)

请用此提交表格

如果您使用表单ID

<form name="statuschange" id="statuschange" action="changestatus.php" method="post">
<input type="hidden" name="delete_id" value="<?php echo $rowdetails["ID"]; ?>"  />

然后像这样使用它:

document.statuschange.submit();

现在将提交表单,您将获得ID以删除操作页面'changestatus.php'上的记录。

现在在此页面执行删除查询。 'changestatus.php'

答案 1 :(得分:0)

你写的正确。我认为PHP代码中存在问题。查看您的HTML结果源。来源必须像这种形式:

NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];

答案 2 :(得分:0)

好像你对自己的所作所为感到有点迷惑。

window.location.href='?delete_id='+id;

以上行将调用将参数delete_id作为GET方法发送的页面($ _REQUEST [&#34; delete_id&#34;]以在PHP中获取它)

document.statuschange.submit();

上面的行将调用tha页面发送参数delete_id作为POST方法($ _POST [&#34; delete_id&#34;]以在PHP中获取它)

因此,您要求在提取页面后提交表单(window.location.href发生这种情况)。但是你只需要带走

window.location.href line, 

致电

document.statuschange.submit();

正在做,并使用$ _POST [&#34; delete_id&#34;]而不是$ _REQUEST [&#34; delete_id&#34;]获取delete_id。

这将发送表格和所有其他内容。

答案 3 :(得分:0)

你可以用ajax函数

来做到这一点
<script language="Javascript">
function delete_id(script_dir, id)
{
    if(confirm('Sure To Remove This Record ?')) {
        var result = "";

        try {
            var req = new XMLHttpRequest();
        } catch (e) {
            alert("Your browser broke!");
            return false;
        }

        req.onreadystatechange = function(){
            if(req.readyState == 4){
                if (req.status==200) {
                    alert('Row deleted');
                    document.statuschange.submit();
                }
            }       
        }
        req.open("GET", script_dir + '?delete_id='+id, true);
        req.send(null);
    } else {
        return false;
    }
}
</script>


<form action="changestatus.php" method="post"> 
</form>

<button onClick="javascript:return delete_id('script_directory', 123);">delete_row</button>