나는이 select
내가 값을 수정할 수있는 사용자와 같이, “읽기 전용”으로 표시 할 것을 양식 필드를하지만, 값은 여전히 양식 제출됩니다. disabled
속성을 사용하면 사용자가 값을 변경할 수 없지만 양식과 함께 값을 제출하지는 않습니다.
이 readonly
속성은 input
및 textarea
필드 에서만 사용할 수 있지만 기본적으로 내가 원하는 것입니다. 그 일을 할 수있는 방법이 있습니까?
내가 고려하고있는 두 가지 가능성은 다음과 같습니다.
- 대신 비활성화의
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');
});