如何获取文本框值到Button OnClick函数中的参数?

时间:2019-05-07 10:45:40

标签: javascript c# model-view-controller

我需要将txtRemarks和txtCost文本框值转换为Button OnClick方法上的两个参数。这样我就可以将这些参数传递给控制器​​中的方法。让我进一步解释一下。我有两个在模型外部创建的文本框。下面我提到了它们。

@Html.Editor("txtRemarks", new { htmlAttributes = new { @class = "form-control date-picker", @placeholder = "N/A" } })

@Html.Editor("txtCost", new { htmlAttributes = new { @class = "form-control date-picker", @type = "number", @placeholder = "0.00" } })

我需要将它们的值设置为Button Onclick事件中的两个参数。下面是单击事件和按钮。我需要将这些参数值添加到控制器 ServiceHeaders

中的ActionResult方法 ServiceDetails
<input type="button" id="btnAddtoGrid" value="Add" class="btn btn-group" onclick="location.href='@Url.Action("ServiceDetails", "ServiceHeaders")?Remark='+ $('#txtRemarks').val(),?Cost='+ $('#txtCost').val()" />

所有我需要的方法是连接?Remark='+ $('#txtRemarks').val()?Cost='+ $('#txtCost').val()。我可以使用?Remark='+ $('#txtRemarks').val()?Cost='+ $('#txtCost').val()传递一个参数。但是我不知道如何同时获得两者。这是我需要您宝贵帮助的地方。

4 个答案:

答案 0 :(得分:1)

您可以链接以下参数: localhost?Remark='+ $('#txtRemarks').val() + '&Cost='+ $('#txtCost').val()

在执行HTTP GET时,您可以使用...?var1=test1&var2=test2&var3=test3等设置参数

有关更多信息,请参见doc

注意:对于您的案例,您也可以考虑使用HTTP POST。

答案 1 :(得分:1)

链接建立不正确。要串联参数,必须使用&。试试这个

<input type="button" id="btnAddtoGrid" value="Add" class="btn btn-group" onclick="location.href='@Url.Action("ServiceDetails", "ServiceHeaders")?Remark='+ $('#txtRemarks').val() + '&Cost='+ $('#txtCost').val()" />

答案 2 :(得分:1)

1)从按钮中删除onClick()。

2)为按钮单击添加ajax调用,如下所示

$('#btnAddtoGrid').click(function () {
        $.ajax({
            url: '<%= Url.Action("ActionName", "ControllerName", new{Remark = ' + 
            $('#txtRemarks').val() + ', Cost = ' + $('#txtCost').val()+'}) %>',
            success: function (
                alert(data);
            }
        });
    });

答案 3 :(得分:0)

客户端。

 $('#btnAddtoGrid').on("click",function () {
           $.ajax({
                        type: "POST",
                        url: "/Home/AjaxMethod",
                        data: '{newremark : "' + $('#txtRemarks').val() + '" , cost: "' + $('#txtCost').val() + '"}',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            alert("Hello: " + response.Name + " .\nCurrent Date and Time: " + response.DateTime);
                        },
                        failure: function (response) {
                            alert(response.responseText);
                        },
                        error: function (response) {
                            alert(response.responseText);
                        }
                    });
        });

服务器端。

[HttpPost]
    public JsonResult AjaxMethod(string newremark,string cost)
    {       
        return Json(newremark);
    }