Javascript 只在第二次单击时形成帖子

Javascript 只在第二次单击时形成帖子,javascript,asp.net,asp.net-mvc-4,post,confirm,Javascript,Asp.net,Asp.net Mvc 4,Post,Confirm,我有个问题。 我使用表单来创建一些东西,但是当我单击提交表单时,我调用了一个js函数来更改routedvalue。这很好,但在我第一次尝试提交表单时,只有路由值发生了更改。第二次尝试提交表单时,表单确实使用了正确的值发布 如何更改此代码,以便表单在第一次单击时更改routedvalue并进行Post(使用正确的值) 表格: { JS: 编辑: 这是我在Fiddler2中第一次点击后得到的 参数字典包含方法'System.Web.Mvc.ActionResult CreateFunctionTie

我有个问题。 我使用表单来创建一些东西,但是当我单击提交表单时,我调用了一个js函数来更改routedvalue。这很好,但在我第一次尝试提交表单时,只有路由值发生了更改。第二次尝试提交表单时,表单确实使用了正确的值发布

如何更改此代码,以便表单在第一次单击时更改routedvalue并进行Post(使用正确的值)

表格:

{

JS:

编辑:

这是我在Fiddler2中第一次点击后得到的

参数字典包含方法'System.Web.Mvc.ActionResult CreateFunctionTiebesChrivingPartial(Evaluatietool.Models.NieuwFunctionTiebesChrivingViewModel,Int32)的非null类型'System.Int32'的参数'sopt'的null条目'在'Evaluatietool.Controllers.FunctiebeschrivingController'中。可选参数必须是引用类型、可为Null的类型,或者声明为可选参数。 参数名称:参数


第二次单击会导致0个错误。

我不确定,但您是否可以尝试在
ConfirmDone()
函数的末尾使用
form.submit();
?没有帮助,以前尝试过,返回true也不起作用
@using (Ajax.BeginForm("CreateFunctiebeschrijvingPartial", "Functiebeschrijving", null,  new AjaxOptions { UpdateTargetId = "Functiebeschrijving", OnBegin = "return ConfirmDone()", OnSuccess = "handleSuccess" }, new { @id = "frmID" }))
    function ConfirmDone() {
        var form = document.getElementById('frmID');
        if (confirm("This form saves default as Concept, would you like to save it as completed? 1 = Completed, 2 = Concept")) {
            //option 1: save as completed
            form.setAttribute('action', addDataToUrl(form.getAttribute('action'), 'sopt', 1));
        }
        else {               
            //Option 2: save as concept
            form.setAttribute('action', addDataToUrl(form.getAttribute('action'), 'sopt', 2));
        }
    }

    function addDataToUrl(url, name, value) {
        var sep = url.indexOf('?') === -1 ? '?' : '&';
        return url + sep + name + '=' + value;

    }