Javascript,在提交时启用禁用字段无效
Javascript, enabling disabled fields on submit isn't working
$(function() {
$("#booking-form").submit(function() {
alert("hi");
$("#Booking_clientPackagedService_id").prop("disabled", false);
});
});
最初,我禁用了 #Booking_clientPackagedService_id
。
所以我实现了上面的代码,在提交表单时重新启用它。
但是我发现它没有启用。 alert("hi");
有效但不适用于 .prop()
。
是语法本身的问题吗?或者还有其他方法吗?
请指教谢谢
试试这个
$('#Booking_clientPackagedService_id').removeAttr("disabled");
使用event.preventDefault();
默认的事件动作是不会被触发的。
$("#booking-form").submit(function(event) {
event.preventDefault();
$("#Booking_clientPackagedService_id").removeAttr('disabled');
});
使用event.preventDefault();
阻止要提交 的表单。
如果您想第二次提交,那么您可以验证 class 是否存在并在启用字段后添加它。
$(function() {
$("#booking-form").submit(function(event) {
if(!$(this).hasClass('submited'))
{
event.preventDefault(); // prevent form to submit
alert("hi");
$("#Booking_clientPackagedService_id").attr("disabled", false);
$(this).toggleClass('submited');
}
});
})
检查代码片段以查看工作示例。
$(function() {
$("#booking-form").submit(function(event) {
if(!$(this).hasClass('submited'))
{
event.preventDefault(); // prevent form to submit
alert("hi");
$("#Booking_clientPackagedService_id").attr("disabled", false);
$(this).toggleClass('submited');
}
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="booking-form">
<input type="text" id="Booking_clientPackagedService_id" disabled="disabled" />
<input type="submit" value="Submit" />
</form>
像这样尝试
$("#booking-form").on("submit",function(e) {
e.preventDefault();
$("#Booking_clientPackagedService_id").prop("disabled", false);
});
$(function() {
$("#booking-form").submit(function() {
alert("hi");
$("#Booking_clientPackagedService_id").prop("disabled", false);
return false;
});
});
您可以在您的情况下使用 localstorage
:
var issubmitted = localstorage.getItem('issubmitted') !== undefined && localstorage.getItem('issubmitted') === 'submitted' || false;
$("#Booking_clientPackagedService_id").prop("disabled", issubmitted);
$("#booking-form").submit(function() {
localstorage.setItem('issubmitted', 'submitted');
alert("hi");
});
$(function() {
$("#booking-form").submit(function() {
alert("hi");
$("#Booking_clientPackagedService_id").prop("disabled", false);
});
});
最初,我禁用了 #Booking_clientPackagedService_id
。
所以我实现了上面的代码,在提交表单时重新启用它。
但是我发现它没有启用。 alert("hi");
有效但不适用于 .prop()
。
是语法本身的问题吗?或者还有其他方法吗?
请指教谢谢
试试这个
$('#Booking_clientPackagedService_id').removeAttr("disabled");
使用event.preventDefault();
默认的事件动作是不会被触发的。
$("#booking-form").submit(function(event) {
event.preventDefault();
$("#Booking_clientPackagedService_id").removeAttr('disabled');
});
使用event.preventDefault();
阻止要提交 的表单。
如果您想第二次提交,那么您可以验证 class 是否存在并在启用字段后添加它。
$(function() {
$("#booking-form").submit(function(event) {
if(!$(this).hasClass('submited'))
{
event.preventDefault(); // prevent form to submit
alert("hi");
$("#Booking_clientPackagedService_id").attr("disabled", false);
$(this).toggleClass('submited');
}
});
})
检查代码片段以查看工作示例。
$(function() {
$("#booking-form").submit(function(event) {
if(!$(this).hasClass('submited'))
{
event.preventDefault(); // prevent form to submit
alert("hi");
$("#Booking_clientPackagedService_id").attr("disabled", false);
$(this).toggleClass('submited');
}
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="booking-form">
<input type="text" id="Booking_clientPackagedService_id" disabled="disabled" />
<input type="submit" value="Submit" />
</form>
像这样尝试
$("#booking-form").on("submit",function(e) {
e.preventDefault();
$("#Booking_clientPackagedService_id").prop("disabled", false);
});
$(function() {
$("#booking-form").submit(function() {
alert("hi");
$("#Booking_clientPackagedService_id").prop("disabled", false);
return false;
});
});
您可以在您的情况下使用 localstorage
:
var issubmitted = localstorage.getItem('issubmitted') !== undefined && localstorage.getItem('issubmitted') === 'submitted' || false;
$("#Booking_clientPackagedService_id").prop("disabled", issubmitted);
$("#booking-form").submit(function() {
localstorage.setItem('issubmitted', 'submitted');
alert("hi");
});