Javascript确认表单提交未取消

时间:2014-03-24 21:39:57

标签: javascript jquery html forms

我想要在表单中包含一个非常简单的Javascript函数(提交或取消)。问题是,如果我推动取消,它应该取消表单提交。现在它只是给了我适当的警告,但继续提交表格我是否推动" ok"或"取消"。

我是JS的新手,很抱歉,如果我错过了一些基本的东西,但我似乎无法找到这个看似简单问题的可靠答案。

JAVASCRIPT

function confirmdelete()
{
confirm("Deleting this answer may cause dataloss, are you sure you want to continue?")
}

PHP / HTML

echo '
    <form onsubmit="confirmdelete()" class="answerform" id="deletelink" action="/admin/questions" method="post"
    onsubmit="return confirm("Do you want to delete this answer?");>
        <input type="hidden" name="ansdel" value="' . $row['id'] . '">
        <input type="hidden" name="notice" value="You have deleted: ' . $row['answer'] . '">
        <input class="answerbutton" id="deletebutton" type="submit" value="Delete">
    </form>
';

4 个答案:

答案 0 :(得分:4)

将其更改为

function confirmdelete()
{
    return confirm("Deleting this answer may cause dataloss, are you sure you want to continue?")
}

答案 1 :(得分:1)

通过添加

解决了问题
onsubmit="return confirmdelete()"

而不是

onsubmit="confirmdelete()"

这是主要问题,上面还使用了Rob的一些最新Javascript函数更新...谢谢!

function confirmdelete() {
    var r=confirm("Deleting this answer may cause data loss, are you sure you want to continue?");
    if (r==true)
      {
        return true;
      }
    else
      {
        return false;
      }
}

答案 2 :(得分:0)

您需要将确认与if声明结合使用:

function confirmdelete() {
    if(confirm("Deleting this answer may cause dataloss, are you sure you want to continue?")({
        return true;
    } else {
        return false;
    }
}

您也可以执行@mmillican推荐的return(更简短,更好,更简单),我通常会执行if语句,以防您想要做一些额外的魔术。两个都有效。 :)

答案 3 :(得分:0)

需要指定确认并将其返回

var confirmed = confirm("Deleting ...
return confirmed;

return false;停止表单提交