테스트 사이트 - 개발 중인 베타 버전입니다

가변 폼 액션 접근성 확보하기

· 14년 전 · 1896 · 1
가변 폼 액션 상당히 많이쓰고있습니다.
필요에 따라 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");
이런 식으로 스크립트 사용 시 스타일을 변경해서 안보이게하면 됩니다.
(스크립트 사용하지 않을 시 기본적으로 보이게 하기위함)

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

짧게 작성돼서 그런데, 굉장히 중요한 글입니다. 추천x10

제 경우엔 select 쪽은 CSS가 아니라 JavaScript에서 숨겨줍니다. 그래야 JavaScript disable 환경에서도 단일 작업으로 고정되는 일을 피할 수 없으니까요.

게시글 목록

번호 제목
12307
12306
12305
12304
12303
JavaScript 계산기
12302
12301
12300
12299
12298
12297
12296
12295
12294
12293
12292
12291
12290
12289
12288
12287
12286
12285
12284
12283