我正在尝试提交表单数据,但我没有使用标准的“提交”按钮,而是使用常规的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>
确认框会按预期弹出,表单确实正确提交。但是,即使用户在确认框中单击“否”,表单也会提交。
答案 0 :(得分:1)
试试这个: -
function confirmSubmit()
{
var agree=confirm("Are you sure you wish to delete this file?");
if (agree)
document.forms["delete14"].submit();
else
return false ;
}
答案 1 :(得分:1)
首先,如果你不想使用链接,请不要使用链接,使用样式化的跨度(或按钮,向用户说“点击我,会发生某些事情”而不是链接,表示“点击”我和我会带你到另一页“)。
另外,不要在期望值为脚本的属性中使用“javascript:”,它将被视为无用的标签。
无论如何,你的问题是你在链接上有两个听众:
<a href="javascript:submitform()" onClick="javascript:confirmSubmit()">link text</a>
href中的人将无条件提交表格。所以使用跨度并摆脱href:
<span style="cursor: pointer; text-decoration: underline"
onclick="confirmSubmit()">link text</span>