【发布时间】:2015-03-28 14:00:58
【问题描述】:
我有一个带有复选框的 ASP.NET MVC 视图。单击提交按钮时,是否可以更改复选框值?
我有一个包含两个文本输入和一个复选框的表单。我有两个提交按钮,当单击提交 1 时,我只想按原样提交表单。但是,当单击提交 2 时,我想自动设置选中的复选框,然后将表单发布到控制器。
有没有办法做到这一点?在视图中还是用javascript?
【问题讨论】:
标签: jquery asp.net asp.net-mvc razor
我有一个带有复选框的 ASP.NET MVC 视图。单击提交按钮时,是否可以更改复选框值?
我有一个包含两个文本输入和一个复选框的表单。我有两个提交按钮,当单击提交 1 时,我只想按原样提交表单。但是,当单击提交 2 时,我想自动设置选中的复选框,然后将表单发布到控制器。
有没有办法做到这一点?在视图中还是用javascript?
【问题讨论】:
标签: jquery asp.net asp.net-mvc razor
有两种方法可以解决这个问题。首先你可以设置点击第二个按钮的事件
<input name="submit" type="submit" id="JustSubmit"/>
<input name="submit" type="submit" onclick="checkedCheckbox()" id="SubmitWithCheckbox"/>
在javascript上
function checkedCheckbox()
{
$('#myCheckbox').prop('checked', true);
}
第二个使用服务器端。 您可以命名两个提交按钮来验证和更改基于提交按钮被按下的复选框的值。
<input name="submit" type="submit" id="submit" value="Save" />
<input name="submit" type="submit" id="process" value="Process" />
在控制器中,您可以验证您检查的是哪个提交按钮
public ActionResult Index(Class Model, string submit)
{
if(submit == "process")
{
Model.Checked = true;
}
//if not...
return View();
}
【讨论】:
如果不查看 JSFiddle 中的代码或示例,很难理解您想要实现的目标。
但如果我理解你的话,你可以尝试这样的事情
$(document).ready(function () {
$("#submit2").on("click", function() {
$("#checkbox").attr("checked", true);
// HERE YOU CAN DO SOME OTHER CODE TO SUBMIT FORM
});
});
【讨论】: