Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript确认表单提交未取消_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript确认表单提交未取消

Javascript确认表单提交未取消,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个非常简单的Javascript函数,我想包含在表单提交或取消中。问题是,如果我按“取消”,它应该取消表单提交。现在它只是给了我一个适当的警告,但无论我按下ok还是cancel,它都会继续提交表单 我是JS新手,如果我遗漏了一些基本的东西,我很抱歉,但是我似乎找不到这个看似简单的问题的可靠答案 JAVASCRIPT function confirmdelete() { confirm("Deleting this answer may cause dataloss, are you sur

我有一个非常简单的Javascript函数,我想包含在表单提交或取消中。问题是,如果我按“取消”,它应该取消表单提交。现在它只是给了我一个适当的警告,但无论我按下ok还是cancel,它都会继续提交表单

我是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>
';
换成

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

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

您需要将确认与if语句结合使用:

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

你也可以做@mmillican推荐的返回,短得多,好得多,简单得多,我通常只做if语句,以防你想做一些额外的魔术。任何一个都有效

您需要将确认与if语句结合使用:

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

你也可以做@mmillican推荐的返回,短得多,好得多,简单得多,我通常只做if语句,以防你想做一些额外的魔术。任何一个都有效

需要分配确认并返回

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

返回false;停止表单提交的内容是否需要分配确认并返回

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

返回false;是什么阻止了表单提交

通过将

onsubmit="return confirmdelete()"
而不是

onsubmit="confirmdelete()"
这是主要的问题,在最后的Javascript函数中也使用了Rob上面的一些更新。。。谢谢

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;
      }
}

通过将

onsubmit="return confirmdelete()"
而不是

onsubmit="confirmdelete()"
这是主要的问题,在最后的Javascript函数中也使用了Rob上面的一些更新。。。谢谢

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;
      }
}

*或者更简单的,比如@mmillican的回答,这些都不行。如果我把确认码放在。。。直接在if语句中,比如ifconfirm'Deleting…,确认不会弹出。如果我把var r=confirm。。。首先检查r是否正确,然后返回true或false,即使我按下取消按钮,它仍会提交表单。还有其他想法吗?*或者更简单的,比如@mmillican的回答,这些都不适用。如果我把确认码放在。。。直接在if语句中,比如ifconfirm'Deleting…,确认不会弹出。如果我把var r=confirm。。。首先检查r是否正确,然后返回true或false,即使我按下取消按钮,它仍会提交表单。还有其他想法吗?