提问人:Gérald Moïse 提问时间:11/1/2023 最后编辑:Gérald Moïse 更新时间:11/3/2023 访问量:28
单击表单上的任意位置后,表单输入将被禁用
Form inputs get disabled after clicking anywhere on the form
问:
我是初学者开发人员,如果我错过了相关信息,请告诉我。
在我的 MVC 应用程序中,我有这种奇怪的行为。表单加载并准备好接收输入。一旦我单击该字段或表单上的任何位置,所有字段都会被禁用,包括下拉列表和输入。如果我手动切换模式以显示并单击取消或连续,则字段将重新启用,如果我手动切换为隐藏,表单也会重新启用。在添加模态之前,这不会发生。
这是模态:
<div class="modal fade" id="confirmationModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Veuillez confirmer</h5>
</div>
<div class="modal-body">
En cliquant continuer, vous créez un utilisateur pour le client suivant:
<p>Client ID: <span id="modal-client-id"></span></p>
<p>Compagnie: <span id="modal-company-name"></span></p>
<p>Adresse: <span id="modal-address"></span></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" onclick="cancelUserCreation()" data-dismiss="modal">Canceller</button>
<button type="button" class="btn btn-primary" onclick="confirmUserCreation()">Confirmer</button>
</div>
</div>
</div>
</div>
这是相关脚本
function showConfirmationModal() {
debugger;
function getDivision() {
if ($('#divisionBorea').val()) {
return 2;
}
return 1;
}
var clientId = $('#ClientId').val();
var division = getDivision();
$.ajax({
url: '@Url.Action("Method", "Controller")',
method: 'POST',
data: {
clientId: clientId,
division: division
},
success: function (response) {
if (response.success) {
$('#modal-client-id').text(clientId);
$('#modal-company-name').text(response.data.Name);
$('#modal-address').text(response.data.Address1);
$('#confirmationModal').modal('show');
}
},
error: function () {
toastr['error']('Aucun client trouver avec ce ClientID')
}
})
}
const handleSubmit = e => {
e.preventDefault();
const password = $("#Password").val();
const passwordValidationResult = validatePassword(password);
const divisionValidationResult = validateDivisionSelected();
if (passwordValidationResult) {
$("[data-password-hint]").text(passwordValidationResult);
}
if (!divisionValidationResult) {
$("[data-division-hint]").text("Vous devez choisir une division")
} else {
$("[data-division-hint]").text("")
}
if (passwordValidationResult || !divisionValidationResult) {
return;
}
else {
showConfirmationModal();
}
};
form.on('submit', handleSubmit);
});
知道是什么原因导致了这种行为吗?
我尝试将隐藏添加到html类中,但没有变化 尝试在document.ready函数中设置hide属性,但没有更改 尝试注释掉禁用表单的脚本部分
注释掉模态可以解决问题
答:
0赞
Gérald Moïse
11/3/2023
#1
我发现了这个问题,以防它对任何人有帮助。尽管我的模态是隐藏的并且不被认为是活动的,但它是不可见的,并且位于其他所有内容之上,因此输入被禁用。在模态上设置 style=“display:none” 修复了它。
评论