2013-09-06 8 views
1

У меня есть форма, что у меня есть стек полей, которые были установлены с только для чтения и инвалидов с помощью JQuery, например следующим образом:Удалены «отключены и готовы только» атрибуты HTML элементов формы перед отправкой формы

$('.adminOnlyField').prop('disabled', 'disabled'); 
$('.adminOnlyField').attr("readonly","true"); 

Я использую оба так, чтобы поля выбора также отображались только для просмотра.

Я хочу удалить эти атрибуты из формы до того, как она будет отправлена, чтобы другие неинфицированные поля поменялись моей моделью. Я пробовал это, но он не работает:

$('.clear_ready_only').click(function(e) 
{ 
    e.preventDefault(); 
    $('.adminOnlyField').removeAttr('disabled'); 
    $('.adminOnlyField').removeAttr('readonly'); 
    $('#CardModifysaleForm').submit(); 
}); 

Я что-то не хватает? Я думал, что это сработало бы?

Благодаря

// ПОЛНЫЙ JS ФУНКЦИОНАЛЬНОСТЬ ПОСЛЕ НИЖЕ МЕНЯЕТ

$(function() { 

    var $adminOnly = $('.adminOnlyField'); 
    $adminOnly.prop('disabled',true).prop('readonly',true); 
    $adminOnly.attr("onclick","return false"); 
    $adminOnly.attr("onkeydown","return false"); 
    $adminOnly.removeClass('required'); 
    $adminOnly.removeClass('date_picker'); 



    $('.clear_ready_only').click(function(e) 
    { 
     e.preventDefault(); 
     $adminOnly.prop('disabled',false).prop('readonly',false); 
     $adminOnly.attr("onclick","return true"); 
     $adminOnly.attr("onkeydown","return true"); 
     $('#CardModifysaleForm').submit(); 
    }); 

}); 
+0

отключенные поля не являются представленный, так почему бы вам просто не позволить? – Lobo

+0

Неинвазивные поля также не входят в модель. Данные отправляются пустым массивом, когда любое поле отключено. – sluggerdog

ответ

0
$('.adminOnlyField'). 
    prop('disabled', false). 
    prop('readonly', false); 

Если это сделать.

1

Во-первых, вы можете использовать .prop() для обоих, что быстрее, чем .attr():

$('.adminOnlyField').prop('disabled',true); 
$('.adminOnlyField').prop('readonly',true); 

Во-вторых, для повышения эффективности следует кэшировать и цепи:

var $adminOnly = $('.adminOnlyField'); 
$adminOnly.prop('disabled',true).prop('readonly',true); 

И третье, чтобы ответить на ваш вопрос , просто переверните выключатели на, отправьте:

$('.clear_ready_only').click(function(e){ 
    e.preventDefault(); 
    $adminOnly.prop('disabled',false).prop('readonly',false); 
    $('#CardModifysaleForm').submit(); 
}); 
+0

Спасибо, я внес эти изменения, однако данные все еще идут, как пустой массив ... Любые идеи, почему это может произойти? – sluggerdog

+0

Я обновил сообщение, чтобы показать полный код, как он стоит с вашими изменениями, я проверил удаление части, комментируя $ ('# CardModifysaleForm'). Submit(); поля формы, кажется, отключены, но данные отправлены, хотя они все еще пусты. Спасибо – sluggerdog

+0

u предоставила информацию только о включении/отключении кнопки. если вам нужна помощь в представлении информации из определенных полей, укажите HTML-форму формы и вызов, который отправляет эти поля. – PlantTheIdea