<select> 양식 필드가 비활성화되었을 때 제출되도록하는 방법은 무엇입니까? 여전히 양식 제출됩니다. disabled속성을 사용하면 사용자가 값을

나는이 select내가 값을 수정할 수있는 사용자와 같이, “읽기 전용”으로 표시 할 것을 양식 필드를하지만, 값은 여전히 양식 제출됩니다. disabled속성을 사용하면 사용자가 값을 변경할 수 없지만 양식과 함께 값을 제출하지는 않습니다.

readonly속성은 inputtextarea필드 에서만 사용할 수 있지만 기본적으로 내가 원하는 것입니다. 그 일을 할 수있는 방법이 있습니까?

내가 고려하고있는 두 가지 가능성은 다음과 같습니다.

  • 대신 비활성화의 select,의 비활성화 모두 option의 사용 CSS는 회색으로하는 그것의 불가능처럼 보이는 있도록 선택합니다.
  • 클릭 이벤트 핸들러를 제출 단추에 추가하여 양식을 제출하기 전에 사용 불가능한 드롭 다운 메뉴를 모두 사용할 수있게하십시오.


답변

<select disabled="disabled">
    ....
</select>
<input type="hidden" name="select_name" value="selected value" />

select_name일반적으로 이름을 제공하는 이름은 어디에 있습니까 <select>?

다른 옵션.

<select name="myselect" disabled="disabled">
    <option value="myselectedvalue" selected="selected">My Value</option>
    ....
</select>
<input type="hidden" name="myselect" value="myselectedvalue" />

이제이 하나를 사용하면 사용중인 웹 서버에 따라 hidden입력을 입력하기 전에 또는 후에 입력 해야 할 수도 있습니다 <select>.

IIS를 사용하여 메모리가 제대로 작동하면 이전에 메모리를 배치하고 Apache를 사용하면 메모리를 나중에 배치합니다. 항상 그렇듯이 테스트가 핵심입니다.


답변

필드를 비활성화 한 다음 양식을 제출하기 전에 활성화하십시오.

jQuery 코드 :

jQuery(function ($) {
  $('form').bind('submit', function () {
    $(this).find(':input').prop('disabled', false);
  });
});


답변

나는 이것을위한 해결책을 찾고 있었고,이 스레드에서 해결책을 찾지 못했기 때문에 나는 내 자신을했다.

// With jQuery
$('#selectbox').focus(function(e) {
    $(this).blur();
});

간단하게, 당신이 초점을 맞출 때, 필드를 비활성화하는 것과 같이 필드를 흐리게하지만 실제로 데이터를 보냅니다.


답변

사용자가 이전 선택 상자를 기반으로 선택한 값을 변경할 수 없도록하기 위해 약간 다른 시나리오에 직면했습니다. 내가했던 것은 선택 상자에서 다른 모든 선택되지 않은 옵션을 사용 중지하는 것입니다.

$('#toSelect')find(':not(:selected)').attr('disabled','disabled');


답변

jQuery를 사용하지 않고 Tres가 제안한 동일한 솔루션

<form onsubmit="document.getElementById('mysel').disabled = false;" action="..." method="GET">

   <select id="mysel" disabled="disabled">....</select>

   <input name="submit" id="submit" type="submit" value="SEND FORM">
</form>

이것은 누군가가 더 많은 것을 이해하는 데 도움이 될 수 있지만 분명히 jQuery보다 덜 유연합니다.


답변

선택 필드의 : input selector와 함께 작동하지 않습니다.

    jQuery(function() {

    jQuery('form').bind('submit', function() {
        jQuery(this).find(':disabled').removeAttr('disabled');
    });

    });


답변

선택에서 비활성화 옵션으로 다음 코드를 사용합니다.

<select class="sel big" id="form_code" name="code" readonly="readonly">
   <option value="user_played_game" selected="true">1 Game</option>
   <option value="coins" disabled="">2 Object</option>
   <option value="event" disabled="">3 Object</option>
   <option value="level" disabled="">4 Object</option>
   <option value="game" disabled="">5 Object</option>
</select>

// Disable selection for options
$('select option:not(:selected)').each(function(){
 $(this).attr('disabled', 'disabled');
});