Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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_Vb.net_Asp.net Mvc 3_Razor - Fatal编程技术网

Javascript 提交复选框状态,不带提交按钮

Javascript 提交复选框状态,不带提交按钮,javascript,vb.net,asp.net-mvc-3,razor,Javascript,Vb.net,Asp.net Mvc 3,Razor,我有一个带有几个复选框的视图,可以选择或取消选择。我希望总是在复选框中注册任何更改,而不使用提交按钮(用户可能会忘记这样做,这将浪费时间) 那么,有没有办法在视图中处理这个问题?到目前为止,我只使用控制器来完成这项工作 那么,一段代码: @ModelType MvcApplication.OpportuniteDetails @Code ViewData("Title")="Details" @End Code <script type="text/jav

我有一个带有几个复选框的视图,可以选择或取消选择。我希望总是在复选框中注册任何更改,而不使用提交按钮(用户可能会忘记这样做,这将浪费时间)

那么,有没有办法在视图中处理这个问题?到目前为止,我只使用控制器来完成这项工作

那么,一段代码:

  @ModelType MvcApplication.OpportuniteDetails

  @Code
       ViewData("Title")="Details"
  @End Code

  <script type="text/javascript">
  $(function () {
    $(':checkbox').change(function() {
        $.ajax({
            url: '@Url.Action("update")',
            type: 'POST',
            data: { isChecked: $(this).is(':checked') },
            success: function (result) { }
        });
    });
  });
  </script>
  [... Some code here...]
  @Html.Raw("Mail sent?") @Html.CheckBox(Model.Opportunite.Mail)

  <input type="checkbox" name="mail" id="mail" onclick="test()" />
@ModelType mvcapapplication.OpportunitedDetails
@代码
ViewData(“标题”)=“详细信息”
@结束代码
$(函数(){
$(':复选框')。更改(函数(){
$.ajax({
url:“@url.Action(“更新”)”,
键入:“POST”,
数据:{isChecked:$(this).is(':checked')},
成功:函数(结果){}
});
});
});
[…这里有一些代码…]
@Html.Raw(“已发送邮件?”)@Html.CheckBox(Model.opportunity.Mail)
您可以使用AJAX:

$(function() {
    $(':checkbox').change(function() {
        var form = $(this).closest('form');
        $.ajax({
            url: form.attr('action'),
            type: form.attr('method'),
            data: form.serialize(),
            success: function(result) {

            }
        });
    });
});
在本例中,我们订阅每个复选框的更改事件。触发此事件时,我们将查找包含表单并使用AJAX请求将其内容发送到服务器

如果您只想将当前复选框状态提交给服务器,而不是整个表单:

$(function() {
    $(':checkbox').change(function() {
        $.ajax({
            url: '@Url.Action("SomeAction")',
            type: 'POST',
            data: { isChecked: $(this).is(':checked') },
            success: function(result) {

            }
        });
    });
});
您可以使用控制器操作来执行必要的处理:

[HttpPost]
public ActionResult SomeAction(bool isChecked)
{
    ...
}
您可以使用AJAX:

$(function() {
    $(':checkbox').change(function() {
        var form = $(this).closest('form');
        $.ajax({
            url: form.attr('action'),
            type: form.attr('method'),
            data: form.serialize(),
            success: function(result) {

            }
        });
    });
});
在本例中,我们订阅每个复选框的更改事件。触发此事件时,我们将查找包含表单并使用AJAX请求将其内容发送到服务器

如果您只想将当前复选框状态提交给服务器,而不是整个表单:

$(function() {
    $(':checkbox').change(function() {
        $.ajax({
            url: '@Url.Action("SomeAction")',
            type: 'POST',
            data: { isChecked: $(this).is(':checked') },
            success: function(result) {

            }
        });
    });
});
您可以使用控制器操作来执行必要的处理:

[HttpPost]
public ActionResult SomeAction(bool isChecked)
{
    ...
}

如果您不需要或不想要AJAX,只想提交表单,那么

$(':checkbox').change(function() {
    var form = $(this).closest('form');
    form.get( 0 ).submit();
});

就可以了。

如果您不需要或不想要AJAX,只想提交表单,那么

$(':checkbox').change(function() {
    var form = $(this).closest('form');
    form.get( 0 ).submit();
});

会的。

Thx很多,在阅读了关于AJAX的howto之后,我会检查一下,以了解我的工作。所以,我明天一定会回答的。我已经编辑了我的问题。我读过一些关于javascript/ajax的文章。像我那样应用代码是不够的。我没有进入我通过放置警报创建的控制器,我看到代码在“change(function){…}”中运行,但在“$.ajax({…})”中没有运行。这部分代码应该做什么?您能给我一些关键字来帮助我查找有关它的信息吗?@patxy,$.ajax函数(顾名思义)向give url发送一个ajax请求,并传递数据参数中包含的参数。因此,在本例中,它将调用
SomeAction
操作,并将
isChecked=true
isChecked=false
参数传递给它。一般来说,您可能会考虑更多地阅读Ajax,并使用JavaScript调试工具,如FixBug来准确地查看发送给服务器的内容并分析请求和响应。所以,我明天一定会回答的。我已经编辑了我的问题。我读过一些关于javascript/ajax的文章。像我那样应用代码是不够的。我没有进入我通过放置警报创建的控制器,我看到代码在“change(function){…}”中运行,但在“$.ajax({…})”中没有运行。这部分代码应该做什么?您能给我一些关键字来帮助我查找有关它的信息吗?@patxy,$.ajax函数(顾名思义)向give url发送一个ajax请求,并传递数据参数中包含的参数。因此,在本例中,它将调用
SomeAction
操作,并将
isChecked=true
isChecked=false
参数传递给它。一般来说,您可能会考虑更多地阅读Ajax,并使用JavaScript调试工具如FixBug来准确地查看正在发送给服务器的内容并分析请求和响应。