我想用备注拒绝批量记录。我使用了' textarea'用户点击页面上拒绝按钮时获取用户评论的标记。
问题是当我输入一些备注并单击提示中的“确定”按钮时,我无法获得评论文本区域的值。该值为null。当我关闭提示并再次执行此过程时,我会在输入之前获得textarea的值。 jquery代码写在HtmlHelper类文件中。
以下是jquery函数:
$('#{0}BulkRejection').click(function () {{
var selectedRowId = $('#{0}').jqGrid('getGridParam', 'selarrrow');
for (var i = 0; i < selectedRowId.length; i++) {{
cellValue = $('#{0}').jqGrid('getCell', selectedRowId[i], '{3}');
var ch = jQuery('#{0}').find('#'+selectedRowId[i]+' input[type=checkbox]').prop('checked');
if(ch)
{{
stringArray[i + 1] = cellValue;
}}
}}
if (stringArray.length == 0) {{
alert('No Record Selected');
return false;
}}
var execute = function () {{
alert($('#AuthRemarks').find('textarea.form-control').val() + '-' +$('#AuthRemarks').val())
if ($('#AuthRemarks').val() == '') {{
alert('Enter the Reject Remarks');
$('#AuthRemarks').focus();
}}
else {{
$(this).dialog('close')
stringArray[0] = $('#AuthRemarks').val();
var postData = {{ values: stringArray }};
$.ajax({{
type: 'POST',
url: RootUrlName+'/{5}',
data: postData,
success: function (data) {{
alert(data.Result);
}},
dataType: 'json',
traditional: true
}});
$('<div title=""Confirm Box""></div>').dialog({{
open: function () {{
$(this).html('<font color=""Green"">Record(s) Rejected Successfully</font>');
}},
close: function () {{
$(this).remove();
window.location.href = RootUrlName+'/{2}'
}},
resizable: false,
height: 170,
modal: true,
buttons: {{
'Ok': function () {{
$(this).dialog('close');
window.location.href = RootUrlName+'/{2}'
}}
}}
}});
}}
}}
var cancel = function () {{
$(this).dialog('close')
}}
var dialogOpts = {{
buttons: {{
'Ok': execute,
'Cancel': cancel
}}
}};
if (confirm('Are you sure to reject this record(s)?')) {{
$('#dialog').dialog(dialogOpts);
}}
}});
}});
HTML代码:
<div class='panel-body'>
<div id='dialog' ' title='Reject Remarks' style='display: none'>
<textarea class='form-control' rows='5' id='AuthRemarks'
maxlength='250' ></textarea>
</div>
</div>
所以它显示&#34;输入拒绝备注&#34;即使我输入拒绝备注并单击确定按钮,因为该字段&#34; AuthRemarks&#34; value为null(参考下面给出的行)。它不是第一次工作。
if ($('#AuthRemarks').val() == '') {{
alert('Enter the Reject Remarks');
$('#AuthRemarks').focus();
}}
答案 0 :(得分:0)
我最近遇到了类似的问题。 确保用户点击的 BulkRejection拒绝按钮 属于 type =&#34;按钮&#34; 。
可能是你的形式是 type =&#34; reset&#34; ,可以重置表单并在执行jquery函数之前将所有字段更改为默认值并将comments字段更改为null。