ie7 이하부터 셋팅이 잘못될 경우 한글인식이 안된다?

|
홈페이지용 웹진을 하나 만들었다.

플래시는 오픈 소스를 사용하고 html과 css 등등을 작성해주고 반복해서 사용할수 있게...

내가 사용중인 브라우저에서는 잘 표현되고 (ie7, 크롬, 오페라, 사파리 -_-) 다른 직원 컴퓨터의 브라우저 (ie6)에서도 잘되길래 완성하고 거래처에 건네주었다.

여태껏 쓰던 웹진은 구형이라 현재 쓰기에는 오류도 많이 발생하고 해서 거래처 담당자분은 좋아라하셨다.

그리고 그쪽 서버에 올렸는데... 2달 정도 지난 오늘 전화가 왔다.

특정 컴퓨터에서 웹진을 띄우면 하얀 화면만 나온다는 것이다.

물론 난 다 테스트를 해봤기에 그럴일을 없을거라 했지만 일단 원인파악을 하기로 했다.


모든 브라우저에서 테스트를 해봤는데 아무런 문제가 없다.

혹시 로컬때문에 내 데이터를 읽어가서 나만 보이나 싶어서 iis 중지시켜도 잘보인다.

이유가 머지???

설마 또 ie 자체 버그인가?


그래서 IE TESTER로 모든 버전으로 돌려봤다.

그랬더니 5,6,7 버전에서 하얀 화면만 뜬다.... 망할...

소스보기로 보니 

<html>
<head>qqljeqlrkjrqr(외계어)</head>
<body></body>
</html>

작성한 코드는 온데간데 없고 외계어만 자리잡고 있네.

한글 문제인가 싶어서 head안에 있는 한글 부분을 지우니 모든 화면이 정상적으로 보였다.


아니 한글 문제면 body안에 있는 한글은 왜 잘 표현되지?

이유는 간단했다.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
      <!-- 브라우저 타이틀 (주소바에 표시됨) -->
      <title>타이틀</title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
...........

기존 소스는 위와 같다.

head안에 한글이 먼저 나오고 그 다음에 문자설정이 나와서 그런것이었다.

ie7 이하 버전은 지들이 알아서 안해주나 보다...


<head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <!-- 브라우저 타이틀 (주소바에 표시됨) -->
      <title>타이틀</title>

기존 소스를 위와 같이 교체를 했다. 잘된다. 행복하면서 짜증난다. -_-;
And

티스토리앱으로 작성하기

|


폰으로 글 적기는 너무 힘드네...

오타의 천국이라니

근데 왜 위치를 제대로 못찾지



추석때 큰집에서 찍은떵개

iPhone 에서 작성된 글입니다.

'커뮤니티 > 자유게시판' 카테고리의 다른 글

와우 오리지널(오리지날)을 소개합니다  (0) 2017.03.25
네이버 중고나라 자전거 사건  (5) 2011.02.25
김제동 술어록  (0) 2010.06.05
아미산 정ㅋ벅ㅋ  (0) 2010.05.02
애완로봇 게임  (0) 2010.03.19
And

validation(검증) 플러그인

|
폼을 사용하다보면 유효성을 체크해야할 경우가 많다.

필수 입력란이 비어있지는 않은가, 숫자만 입력해야하는데 문자를 입력하지 않았는가 등등...

데이터베이스 처리 부분에는 asp로 제어를 하면 되지만 일단 폼에서 체크를 하기 위해 자바스크립트를 써야한다.

하지만 일일이 체크를 하려면 얼마나 귀찮을까...

jQuery 플러그인 중 좋은게 있어서 적어본다.


jquery.validation.js


위 이미지는 샘플페이지의 회원가입 폼이다.

자바스크립트 경고창을 띄우지 않으니 얼마나 좋은가.

물론 플러그인 자체내에서 경고창을 띄우게 옵션을 변경할 수도 있다.


HTML
<style type="text/css">
.relatived { position:relative }
input.invalid, textarea.invalid { border:1px dotted #ff0000 !important; }
label.invalid { position:absolute; left:20px; top:-20px; display:block; color:#747474; width:auto; font:11px/11px Dotum; text-align:left; line-height:11px; border:1px solid #FF8033; padding:5px; background:#ffffff; }
<style>
<form id="fo_insert_member" action="./" method="post">
<table cellspacing="0">
  <tr>
    <th><div>아이디</div></th>
    <td class="wide">
      <div class="relatived"><input type="text" name="user_id" value="" class="inputTypeText" id="user_id" /></div>
      <p>사용자 ID는 3~20자 사이의 영문+숫자로 이루어져야 하며 영문으로 시작되어야 합니다.</p>
    </td>
  </tr>
  <tr>
    <th><div>비밀번호</div></th>
    <td class="wide">
      <div class="relatived"><input type="text" name="password" value="" class="inputTypeText" id="password" /></div>
      <p>사용자 ID는 3~20자 사이의 영문+숫자로 이루어져야 하며 영문으로 시작되어야 합니다.</p>
    </td>
  </tr>
  <tr>
    <th><div>비밀번호 확인</div></th>
    <td class="wide">
      <div class="relatived"><input type="text" name="password2" value="" class="inputTypeText" id="password2" /></div>
      <p>사용자 ID는 3~20자 사이의 영문+숫자로 이루어져야 하며 영문으로 시작되어야 합니다.</p>
    </td>
  </tr>
</table>
</form>
JS
var add_member_srl = "?member_srl=회원 번호";
var query_user_id = "아이디 체크할 경로";
var query_member = "폼 전송할 페이지";

$("#fo_insert_member").validate({
  errorClass:"invalid",
  rules: {
    user_id: { 
      required:true, minlength:3, maxlength:20, remote:{ type: "post", url: query_user_id }
    },
    password: {
      required:true, minlength:6, maxlength:20
    },
    password2: {
      required:true, equalTo:"#password"
    }
  },
  message: {
    user_id: {
      required: "사용자 ID를 입력해주세요.",
      user_id: "사용자 ID는 영문+숫자로 이루어져야 하며 영문으로 시작되어야 합니다.",
      remote: "사용할수 없는 아이디입니다."
    },
    password: {
      required: "사용자 비밀번호를 입력해주세요.",
      minlength: "비밀번호는 6자 이상 입력해주세요.",
      maxlength: "비밀번호는 20자까지 입력 가능합니다."
    },
    password2: {
      required: "비밀번호를 입력해주세요.",
      equalTo: "비밀번호가 일치하지 않습니다."
    },
  },
  submitHandler: function(form) {
    $.post( query_member, $(form).serialize(),
    function( data ) {
     // 폼 전송후 할 행동
    });
  }
})

옵션
debug
기본값: false
디버그 할수 있도록 입력값이 유효해도 전송하지 않는다.
$(".test").validate({
  debug: true
})
submitHandler
폼이 submit 될때 마지막으로 먼가 할수 있도록 핸들을 넘겨준다.

'프로그래밍 > jquery' 카테고리의 다른 글

jquery dom 객체 존재 여부 체크  (1) 2010.09.10
jQuery 기본 셀렉터  (0) 2010.06.10
[02] selector  (0) 2009.09.23
[01] jQuery Core  (0) 2009.09.23
[플러그인] 쿠키  (0) 2009.09.23
And
prev | 1 | ··· | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ··· | 47 | next