Javascript 没有更新@Html.TextBox
Javascript not updating @Html.TextBox
我有一个 Asp.Net Razor 网页,其中的 JavaScript 功能没有按预期更新我的 @Html.TextBox 控件之一。这是 JavaScript:
function UpdateDept() {
debugger;
var result = '';
var badge = document.getElementById("PIP_BADGE").value;
var url = "http://internalSite/api/personinfo/" + badge;
alert('Using badge #' + badge)
$.ajax({
url: url,
type: 'POST',
data: { 'badge': badge },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert(JSON.stringify('result = ' + result));
$('#PIP_DEPT').val(JSON.stringify(result));
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
}
})
两个警报都给我正确的值。这是我要更新的目标@Html.TextBox 的代码:
<td style="width: 40%">
<div class="form-group">
<label for="PIP_DEPT">Department:</label>
<a class="anchor" id="PIP_DEPT_ANCH"></a>
@Html.TextBox("PIP_DEPT", @dept, new { @class = "form-control", id = "PIP_DEPT", @readonly = true, style = "width: 400px" })
</div>
</td>
@dept的初始值在页面初始加载时被赋值,并正确显示。 "PIP_DEPT" 文本框没有更新,我做错了什么?
添加到地址@Mamum 的回答:
此代码有效,并且它还从 @Html.DropDownList 中的选定值更新只读字段。 JavaScript:
function UpdateBadge() {
var e = document.getElementById("PIP_USER_NAME");
var temp = e.options[e.selectedIndex].value;
$('#PIP_BADGE').val(temp);
}
文本框代码:
@Html.TextBox("PIP_BADGE", @badge, new { @class = "form-control", id = "PIP_BADGE", @readonly = true, style = "width: 100px" })
我的 JavaScript/Api 调用技巧还有很多不足之处,所以考虑到这一点,结果调用是 "failing",但我需要的正确数据在 xhr.responseText。我可以使用。我知道,我知道,这是一个可怕的 hack,但我已经在这上面浪费了太多时间。
感谢所有参与的人。
我有一个 Asp.Net Razor 网页,其中的 JavaScript 功能没有按预期更新我的 @Html.TextBox 控件之一。这是 JavaScript:
function UpdateDept() {
debugger;
var result = '';
var badge = document.getElementById("PIP_BADGE").value;
var url = "http://internalSite/api/personinfo/" + badge;
alert('Using badge #' + badge)
$.ajax({
url: url,
type: 'POST',
data: { 'badge': badge },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert(JSON.stringify('result = ' + result));
$('#PIP_DEPT').val(JSON.stringify(result));
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
}
})
两个警报都给我正确的值。这是我要更新的目标@Html.TextBox 的代码:
<td style="width: 40%">
<div class="form-group">
<label for="PIP_DEPT">Department:</label>
<a class="anchor" id="PIP_DEPT_ANCH"></a>
@Html.TextBox("PIP_DEPT", @dept, new { @class = "form-control", id = "PIP_DEPT", @readonly = true, style = "width: 400px" })
</div>
</td>
@dept的初始值在页面初始加载时被赋值,并正确显示。 "PIP_DEPT" 文本框没有更新,我做错了什么?
添加到地址@Mamum 的回答: 此代码有效,并且它还从 @Html.DropDownList 中的选定值更新只读字段。 JavaScript:
function UpdateBadge() {
var e = document.getElementById("PIP_USER_NAME");
var temp = e.options[e.selectedIndex].value;
$('#PIP_BADGE').val(temp);
}
文本框代码:
@Html.TextBox("PIP_BADGE", @badge, new { @class = "form-control", id = "PIP_BADGE", @readonly = true, style = "width: 100px" })
我的 JavaScript/Api 调用技巧还有很多不足之处,所以考虑到这一点,结果调用是 "failing",但我需要的正确数据在 xhr.responseText。我可以使用。我知道,我知道,这是一个可怕的 hack,但我已经在这上面浪费了太多时间。
感谢所有参与的人。