仅在第二次单击时形成帖子

时间:2013-07-19 07:27:45

标签: javascript asp.net asp.net-mvc-4 post confirm

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

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

FORM:

@using (Ajax.BeginForm("CreateFunctiebeschrijvingPartial", "Functiebeschrijving", null,  new AjaxOptions { UpdateTargetId = "Functiebeschrijving", OnBegin = "return ConfirmDone()", OnSuccess = "handleSuccess" }, new { @id = "frmID" }))

{

JS:

    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;

    }

编辑:

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

参数字典包含参数'sopt'的非可空类型'System.Int32'的空条目,用于方法'System.Web.Mvc.ActionResult CreateFunctiebeschrijvingPartial(Evaluatietool.Models.NieuweFunctiebeschrijvingViewModel,Int32)'in 'Evaluatietool.Controllers.FunctieBeschrijvingController'。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数

第二次点击导致0错误。

0 个答案:

没有答案