2012-06-14 3 views
4

HTML에서 <input> :HTML 이외의 문자를 "name"속성에 사용할 수 있습니까?

영문자로 name 속성을 설정해야합니까?

$_POST['some_utf8_characters_and_not_english_characters']에서 나중에 사용하고 싶습니다.

나중에 문제가 발생할 수 있습니까?

+0

이것은 나쁜 습관입니다. –

+5

왜이 나쁜 습관입니까? – Gary

+0

'영어 문자'가 무슨 뜻인지 모르겠습니까? 라틴어/서양어를 의미합니까? – poepje

답변

3

RFC1866 3.2.4 절에 따르면 속성의 값은 값 구분 기호 (작은 따옴표 또는 큰 따옴표) 이외의 값이 될 수 있으며 HTML 태그 구분 기호 (< 및>)를 포함해서는 안됩니다.

그러나 name을 참조로 DOM 요소에 액세스하려고하면 모든 브라우저에서 JavaScript가 작동하는 방식을 테스트해야합니다 (훌륭한 친구 인 MSIE ... 기억). 예 : document.anElementWithPersianName 또는 document.forms['aFormWithAPersianName']. 따라서 JS를 사용하여 양식을 제출하기 위해 유효성을 검사하거나 아약스를 사용하는 경우 JS가이 문자 집합을 올바르게 처리 할 수 ​​있어야합니다. 어떤 경우

, 당신을 확인해야합니다 :

  1. 이 나는 ​​일부 기능이 캐릭터 세트가로 통과 할 필요가 있다고 생각합니다 (문자열 조작에 대한 때 당신의 PHP 스크립트는 UTF-8 기반 기능을 사용 인수)
  2. 이러한 스크립트 자체가 UTF-8 파일에 저장됩니다
  3. 당신은 제대로 HTML 헤더 및/또는 할 수있는 PHP의 응답 헤더

가장 좋은 것은에서 설정 한 문자를 설정 : 생성 간단한 양식, 일부 JS 트릭을 수행하고 PHP 스크립트가 제출 된 결과를 구문 분석하여 인쇄하도록하십시오.

0

내 웹 사이트 중 하나에서 성공적으로 작동합니다. 아무 문제 없습니다.

<input name="UTF_word" /> 

$_POST['UTF_word'] 

둘 다 클라이언트 측에서 jquery (IE에서 검사하지 않음) 또는 서버 측을 포함하여 어떤 문제도주지 않습니다.

관련 문제