提交带有Javascript链接的HTML表单以及确认框

提交带有Javascript链接的HTML表单以及确认框,javascript,html,forms,form-submit,confirmation,Javascript,Html,Forms,Form Submit,Confirmation,我试图提交表单数据,但我不想使用标准的“提交”按钮,而是想使用常规的HTML链接。但是,当我单击此链接时,我希望有一个确认框,要求用户继续或取消。我有拼图的两个部分,但当我把它们放在一起时,它们就不好玩了。这是我目前使用的Javascript代码: function confirmSubmit() { var agree=confirm("Are you sure you wish to delete this file?"); if (agree) return true ; else

我试图提交表单数据,但我不想使用标准的“提交”按钮,而是想使用常规的HTML链接。但是,当我单击此链接时,我希望有一个确认框,要求用户继续或取消。我有拼图的两个部分,但当我把它们放在一起时,它们就不好玩了。这是我目前使用的Javascript代码:

function confirmSubmit()
{
var agree=confirm("Are you sure you wish to delete this file?");
if (agree)
    return true ;
else
    return false ;
}
function submitform() {
    document.forms["delete14"].submit();
}
对于HTML,我有:

<a href="javascript:submitform()" onClick="javascript:confirmSubmit()">link text</a>

确认框确实按预期弹出,并且表单确实正确提交。但目前,即使用户在确认框中单击“否”,表单也会提交

试试这个:-

function confirmSubmit()
{
var agree=confirm("Are you sure you wish to delete this file?");
if (agree)
    document.forms["delete14"].submit();
else
    return false ;
}

首先,如果你不想使用链接,不要使用一个样式化的span(或者一个按钮,它告诉用户“点击我,事情就会发生”,而不是一个链接,它说“点击我,我会带你到另一个页面”)

另外,不要在期望值为script的属性中使用“javascript:”,它将被视为无用的标签

无论如何,您的问题是链接上有两个侦听器:

<a href="javascript:submitform()" onClick="javascript:confirmSubmit()">link text</a>

href中的用户将无条件提交表单。因此,请使用一个span并去掉href:

<span style="cursor: pointer; text-decoration: underline"
   onclick="confirmSubmit()">link text</span>
链接文本

哇,我现在觉得有点傻。到目前为止,我大部分的编码工作都是PHP,所以我现在仅有的一点Javascript就是我复制和粘贴的代码片段。不管怎样,非常感谢!