我想将文本框的值传递给隐藏字段
@Html.TextBoxFor(m => m.FirstName)
@{
var emailSubject = the value of @Html.TextboxFor( m => m.FirstName) + "Thank you for Contancting Us"
}
@Html.Hidden(ThankyouNote, emailSubject)
如果我使用此代码
@Html.TextBoxFor(m => m.FirstName)
@{
var emailSubject = Model.Firstname + "Thank you for Contancting Us"
}
@Html.Hidden(ThankyouNote, emailSubject)
由于用户未在文本框中输入任何值,因此我收到Model.Firstname为null的错误消息。因此,我想获取文本框的值以将其附加到隐藏字段中,而无需返回到控制器。
答案 0 :(得分:0)
Model.Firstname
仍然为空时,客户端更改不会立即反映到服务器端代码。
如果您想在文本框值同时更改时将文本追加到隐藏字段中,请改用客户端keyup
(或onkeyup
)事件:
JS(jQuery)
$('#FirstName').keyup(function () {
var text = $(this).val();
var emailSubject = text + "Thank you for Contacting Us";
$('#ThankyouNote').val(emailSubject);
});
注意:,您可以使用change
/ onchange
事件,但是该事件将在文本框失去焦点而不是用户开始键入字符时触发。
工作示例:.NET Fiddle Demo