가변 폼 액션 접근성 확보하기 정보
jQuery 가변 폼 액션 접근성 확보하기
본문
가변 폼 액션 상당히 많이쓰고있습니다.
필요에 따라 Form의 Action을 바꿔서 쓰는 방식인데 코드도 그리 복잡한건 아니라서
왠만한 브라우저에서는 호환됩니다만... 비스크립트 환경에선 접근성 확보가 어렵습니다.
이건 제가 쓰고있는 방법입니다.
비스크립트 환경 코딩에 관심있으신 분있으시다면 함 읽어보시길 바랍니다.
* 기존 방식
<script type="text/javascript">
function OnSubmitForm()
{
if(document.pressed == 'Insert')
{
document.myform.action ="insert.html";
}
else if(document.pressed == 'Update')
{
document.myform.action ="update.html";
}
return true;
}
</script>
<form name="myform" onsubmit="return onsubmitform();">
<input type="submit" name="operation" onclick="document.pressed=this.value" value="insert" />
<input type="submit" name="operation" onclick="document.pressed=this.value" value="update" />
</form>
- 자바스크립트로 action 값 임의 변경, 기능 변화 클라이언트(브라우저)에서 처리
* 접근성 향상 방식
<form id="form" method="post" action="url">
<div>
이 항목에
<select name="name">
<option>작업1</option>
<option>작업2</option>
<option>작업3</option>
</select>을 진행합니다. <noscript><input type="submit" value="확인" /></noscript>
</div>
</form>
- Action은 변화없고 자바스크립트에서 셀렉트 값 변경 후 submit 시킴, 기능 변화 서버에서 처리
- 이 경우 스크립트 사용시 셀렉트 박스는 스타일시트로 숨기는 등의 방법을 이용함.
이상 별거아닌 작은 팁이였습니다... ㅎㅎ;;
* 성원에 힘입어... 스크립트 하나 추가해드립니다.
선택자-스타일선택자(?)-display-none 의 방식으로 가면 됩니다.
- normal: getElementById('id').style.display = "none";
- jquery: $("selector").css("display", "none");
이런 식으로 스크립트 사용 시 스타일을 변경해서 안보이게하면 됩니다.
(스크립트 사용하지 않을 시 기본적으로 보이게 하기위함)
필요에 따라 Form의 Action을 바꿔서 쓰는 방식인데 코드도 그리 복잡한건 아니라서
왠만한 브라우저에서는 호환됩니다만... 비스크립트 환경에선 접근성 확보가 어렵습니다.
이건 제가 쓰고있는 방법입니다.
비스크립트 환경 코딩에 관심있으신 분있으시다면 함 읽어보시길 바랍니다.
* 기존 방식
<script type="text/javascript">
function OnSubmitForm()
{
if(document.pressed == 'Insert')
{
document.myform.action ="insert.html";
}
else if(document.pressed == 'Update')
{
document.myform.action ="update.html";
}
return true;
}
</script>
<form name="myform" onsubmit="return onsubmitform();">
<input type="submit" name="operation" onclick="document.pressed=this.value" value="insert" />
<input type="submit" name="operation" onclick="document.pressed=this.value" value="update" />
</form>
- 자바스크립트로 action 값 임의 변경, 기능 변화 클라이언트(브라우저)에서 처리
* 접근성 향상 방식
<form id="form" method="post" action="url">
<div>
이 항목에
<select name="name">
<option>작업1</option>
<option>작업2</option>
<option>작업3</option>
</select>을 진행합니다. <noscript><input type="submit" value="확인" /></noscript>
</div>
</form>
- Action은 변화없고 자바스크립트에서 셀렉트 값 변경 후 submit 시킴, 기능 변화 서버에서 처리
- 이 경우 스크립트 사용시 셀렉트 박스는 스타일시트로 숨기는 등의 방법을 이용함.
이상 별거아닌 작은 팁이였습니다... ㅎㅎ;;
* 성원에 힘입어... 스크립트 하나 추가해드립니다.
선택자-스타일선택자(?)-display-none 의 방식으로 가면 됩니다.
- normal: getElementById('id').style.display = "none";
- jquery: $("selector").css("display", "none");
이런 식으로 스크립트 사용 시 스타일을 변경해서 안보이게하면 됩니다.
(스크립트 사용하지 않을 시 기본적으로 보이게 하기위함)
추천
2
2
댓글 1개

짧게 작성돼서 그런데, 굉장히 중요한 글입니다. 추천x10
제 경우엔 select 쪽은 CSS가 아니라 JavaScript에서 숨겨줍니다. 그래야 JavaScript disable 환경에서도 단일 작업으로 고정되는 일을 피할 수 없으니까요.
제 경우엔 select 쪽은 CSS가 아니라 JavaScript에서 숨겨줍니다. 그래야 JavaScript disable 환경에서도 단일 작업으로 고정되는 일을 피할 수 없으니까요.