繁体   English   中英

表单提交后启用文本框和按钮ASP.NET MVC 4

[英]Enable textboxes and button after form submittal ASP.NET MVC 4

我想在表单提交后启用更新按钮。 这是我的代码:

视图:

@using (Html.BeginForm("ProcessTech", "Home", FormMethod.Post))
{
    @Html.TextBoxFor(m => m.techNo, new { @class = "form-control maintain-text", placeholder = "Technician No..." })

    <span class="input-group-btn">
        <button type="submit" id="search" name="SubmitButton" value="search" class="btn btn-default">                        
        <i class="fa fa-search"></i>
    </button>
    </span>

    <td>First Name :</td>
    <td class="display-field">@Html.TextBoxFor(m => m.firstName, new { @class = "form-control", style = "width:380px;", disabled = "disabled" })</td>

    <td>Last Name :</td>
    <td class="display-field">@Html.TextBoxFor(m => m.lastName, new { @class = "form-control", style = "width:380px;", disabled = "disabled" })</td>

    <button name="SubmitButton" value="update" id="update" type="submit" style = "float:right;margin-right:10px; border-radius:5px;" class="btn btn-default" disabled><i class='fa fa-edit fa-fw'></i>Update</button>   
}

更新按钮名字姓氏文本框具有“禁用”属性。 搜索技术人员编号后,将使用与技术编号相对应的名字和姓氏值更新表格。

现在,我要删除更新按钮的禁用属性,名字和姓氏,以便可以对其进行编辑和更新。 最好的方法是什么?

我尝试了这个:

脚本:

$(document).ready(function () {
    $("#search").click(function () {               
        $("#update,#firstName,#lastName").removeAttr("disabled");              
    });            
});

它在提交表单时启用元素,但是一旦提交表单,页面就会重新加载文本框中已有的值,并禁用元素。

当您将表单发布到控制器时,您可以将模型中的值返回到视图,这将确定按钮是否被禁用或启用,或者您也可以使用@ Viewbag.disableUpdate,以便发布后按钮可以正确呈现

<button name="SubmitButton" value="update" id="update" type="submit"  class="btn btn-default" @ViewBag.disableUpdate ><i class='fa fa-edit fa-fw'></i>Update</button>   

从控制器传递@ ViewBag.disableUpdate =“” //使它启用

和@ ViewBag.disableUpdate =“ disable”; //使它启用

我已经根据Maneesh的答案修改了代码,这是我的想法:

模型:

public bool setEnable { get; set; }
public IndexModel() { setEnable = false; } //constructor

控制器:

public ActionResult Index()
{            
    return View(new IndexModel());                                 
}

[HttpPost]
public ActionResult ProcessTech(string SubmitButton)
{   
    IndexModel _oTechModel = new IndexModel();          

    switch (SubmitButton)
    {       
        case "search": //search technician
            {               
                _oTechModel.setEnable = true;
            }
            break;  
    }    
    return View("Index", _oTechModel);         
}

视图:

@model Maintenance_.Models.IndexModel
@{    
    ViewBag.Title = "Technician";
    if(Model.setEnable==true)
    {
        ViewBag.disableUpdate = "";
    }
    else{
        ViewBag.disableUpdate = "disabled";
    }
}

//HTML codes goes here..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM