作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试解决问题时遇到困难。
在我的应用程序中,我生成一个文本输入和复选框输入以及一个选择元素。现在在某些情况下,我需要为用户预先填充这些值,并且我不希望用户能够更改它们。我只希望这些元素是只读的。但是,我需要能够使用 AJAX 将重新填充的值传递到服务器。
如果我将元素中的禁用属性设置为 TRUE,那么当我使用 POST 方法提交表单时,我将无法读取传递的值。如果我有可用于输入复选框的只读属性并选择,那么我就不会遇到此问题。
我的问题是,即使元素被禁用,我也需要传递这些值。
请注意,我根据从 AJAX 请求传回的值生成这些字段,并且出于某种原因,我出于不同目的创建了多个复选框。
以下是我创建输入的代码
$('#result_code_menu').change(function () {
//reset
$('#listNextCallDates').html('');
$.getJSON("ajax/getDefaultScheduleDate.php", {
result_code: $(this).val(),
call_code: $('#selected_call_code').val()
}, function (data) {
if (!data) return;
$.each(data, function (i, v) {
var make_app = '';
var span_class = '';
var calendar_add = '';
var span_class_cal = '';
if (v.force_appointment == '1') {
make_app = ' checked="checked" disabled="disabled" ';
span_class = ' class="red" ';
}
if (v.force_on_calendar == '1') {
calendar_add = ' checked="checked" disabled="disabled" ';
span_class_cal = ' class="red" ';
}
var picker_class = '';
if (v.disable_datetime_picker_function == '1') {
picker_class = 'Jaylen';
}
var read_only_appt = '';
if (v.disable_appointment_function == '1') {
read_only_appt = ' disabled="disabled" ';
}
var read_only_cal = '';
if (v.disable_calendar_function == '1') {
read_only_cal = ' disabled="disabled" ';
}
var new_code = '<table style="width: 500px; table-layout: fixed; border: 1px dashed #C0C0C0;">' +
' <tr>' +
' <td stye="vertical-align: middle; font-weight: bold;"><b>' + v.call_code_title + '</b></td>' +
' <td stye="vertical-align: middle; width: 175px;">' +
' <input type="text" value="' + v.date + '" name="triggerOn[]" class="triggerOnPicker' + picker_class + '" readonly="readonly" style="width: 175px;">' +
' <input type="hidden" name="engine_ids[]" value="' + v.engine_id + '" />' +
' <div style="display:block; margin: 5px;"><input type="checkbox" name="isAppointment[]" value="' + v.engine_id + '" ' + make_app + read_only_appt + ' /> <span ' + span_class + '>Make an appointment</span></div>' +
' <div style="display:block; margin: 5px;"><input type="checkbox" id="calendarAdd_' + v.engine_id + '" name="calendarAdd[]" value="' + v.engine_id + '" ' + calendar_add + read_only_cal + ' /> <span ' + span_class_cal + '>Add to my Calendar</span></div>';
new_code += v.MeetingDuration;
new_code += v.allow_manual_owner_from_group;
new_code += v.allow_manual_owner_from_group_parent;
new_code += ' </td>' +
' </tr>' +
' </table>';
$('#listNextCallDates').append(new_code);
if (v.defval > 0) {
$('#showOnCalendar_' + v.engine_id).show();
$('#calendarAdd_' + v.engine_id).prop("checked", true);
}
});
if (data.length > 0) $('#killScheduleDate').show('fast');
else $('#killScheduleDate').hide('fast');
}
).done(function () {
$('.triggerOnPicker').datetimepicker({
timeFormat: "hh:mm TT",
changeMonth: true,
changeYear: true,
stepMinute: 5,
beforeShowDay: $.datepicker.noWeekends,
minDate: 0
});
$('.showOnCalendar').datetimepicker({
timeFormat: "hh:mm TT",
changeMonth: false,
pickDate: false,
changeYear: false,
stepMinute: 5,
beforeShowDay: $.datepicker.noWeekends,
minDate: 0
});
$("[id^='calendarAdd_']").change(function () {
var button_name = $(this).attr('id');
var id = button_name.replace('calendarAdd_', '');
if ($(this).is(':checked')) {
$('#showOnCalendar_' + id).show();
} else {
$('#showOnCalendar_' + id).hide();
}
});
});
我的问题是如何将禁用元素的值发送到服务器?
最佳答案
您可以在 onclick
事件中使用 return false
来防止发生选中/取消选中该框的事件。
<input type="checkbox" onclick="return false" />
关于jquery - 可以将复选框设置为只读而不禁用它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18900583/
我是一名优秀的程序员,十分优秀!