<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>겨미♡웹 &#187; 히든폼</title>
	<atom:link href="http://miya.pe.kr/tag/%ed%9e%88%eb%93%a0%ed%8f%bc/feed/" rel="self" type="application/rss+xml" />
	<link>http://miya.pe.kr</link>
	<description>웹 클라이언트 사이드 - UI 그리고 마크업.</description>
	<lastBuildDate>Tue, 24 Jan 2012 07:16:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>소위 히든폼이라 불리는 HTML의 오용</title>
		<link>http://miya.pe.kr/2007/08/22/%ec%86%8c%ec%9c%84-%ed%9e%88%eb%93%a0%ed%8f%bc%ec%9d%b4%eb%9d%bc-%eb%b6%88%eb%a6%ac%eb%8a%94-html%ec%9d%98-%ec%98%a4%ec%9a%a9/</link>
		<comments>http://miya.pe.kr/2007/08/22/%ec%86%8c%ec%9c%84-%ed%9e%88%eb%93%a0%ed%8f%bc%ec%9d%b4%eb%9d%bc-%eb%b6%88%eb%a6%ac%eb%8a%94-html%ec%9d%98-%ec%98%a4%ec%9a%a9/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 05:30:00 +0000</pubDate>
		<dc:creator>김군우</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[히든폼]]></category>

		<guid isPermaLink="false">http://www.miya.pe.kr/archives/44</guid>
		<description><![CDATA[페이징 기능을 포함한 게시물 리스트 화면이나 Breadcrumb 구조 등 다수의 공통적인 파라미터를 가지고 다녀야 하는 경우가 있다. 이 경우에 쓰이는 방법이 여러가지가 있는데 일반적으로 서버 사이드 스크립트를 통해 공통적인 파라미터를 묶어서 여러 개의 관련 링크에서 일관적으로 적용하도록 하는 방법이다. 그런데 다음과 같은 HTML 코드를 만들어내는 경우가 있다. (common1~3을 공통적인 파라미터라고 가정한 게시물 보기 화면) Breadcrumb [...]]]></description>
			<content:encoded><![CDATA[<p>페이징 기능을 포함한 게시물 리스트 화면이나 <a href="http://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EC%9D%B4%EB%8F%99_%EA%B2%BD%EB%A1%9C" class="external" title="사이트 이동 경로">Breadcrumb</a> 구조 등 다수의 공통적인 파라미터를 가지고 다녀야 하는 경우가 있다. 이 경우에 쓰이는 방법이 여러가지가 있는데 일반적으로 <a href="http://en.wikipedia.org/wiki/Server-side_scripting" title="Server-side Scripting">서버 사이드 스크립트</a>를 통해 공통적인 파라미터를 묶어서 여러 개의 관련 링크에서 일관적으로 적용하도록 하는 방법이다. 그런데 다음과 같은 <abbr title="HyperText Markup Language">HTML</abbr> 코드를 만들어내는 경우가 있다. (common1~3을 공통적인 파라미터라고 가정한 게시물 보기 화면) <a href="http://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EC%9D%B4%EB%8F%99_%EA%B2%BD%EB%A1%9C" title="사이트 이동 경로">Breadcrumb</a> 구조 등 다수의 공통적인 파라미터를 가지고 다녀야 하는 경우가 있다. 이 경우에 쓰이는 방법이 여러가지가 있는데 일반적으로 <a href="http://en.wikipedia.org/wiki/Server-side_scripting" title="Server-side Scripting">서버 사이드 스크립트</a>를 통해 공통적인 파라미터를 묶어서 여러 개의 관련 링크에서 일관적으로 적용하도록 하는 방법이다. 그런데 다음과 같은 HTML 코드를 만들어내는 경우가 있다. (common1~3을 공통적인 파라미터라고 가정한 게시물 보기 화면)</p>
<p>
<pre><code class="html">&lt;script type=&quot;text/javascript&quot;&gt;
function goDelete(id) {
    var form = document.forms[&quot;blahform&quot;];
    form.id.value = id;
    form.action = &quot;delete&quot;;
    form.submit();
}
function goUpdate(id) {
    var form = document.forms[&quot;blahform&quot;];
    form.id.value = id;
    form.action = &quot;updateForm&quot;;
    form.submit();
}
function goList() {
    var form = document.forms[&quot;blahform&quot;];
    form.action = &quot;list&quot;;
    form.submit();
}
&lt;/script&gt;

&lt;a href=&quot;javascript:goDelete(1)&quot;&gt;삭제&lt;/a&gt;
&lt;a href=&quot;javascript:goUpdate(1)&quot;&gt;수정&lt;/a&gt;
&lt;a href=&quot;javascript:goList()&quot;&gt;리스트&lt;/a&gt;

&lt;form name=&quot;blahform&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;common1&quot; value=&quot;1&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;common2&quot; value=&quot;2&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;common3&quot; value=&quot;3&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;&quot; /&gt;
&lt;/form&gt;</code></pre>
</p>
<p>프로그램 적으로 생각하자면 공통 파라미터의 일관성을 유지할 수 있는 한가지 방법이라고 할 수 있겠지만, 결과적으로 HTML 태그가 의미에 맞지 않고 자바스크립트 의존적인 코드가 되었다. 기본적으로 form 태그는 사용자 입력 양식을 뜻하는데 위에 쓰인 form 태그는 프로그램 내부적인 용도 그 이상의 의미를 지니지 않는다.</p>
<p>앞서 언급한 것과 같이 공통 파라미터를 한 변수에 할당하는 방법으로도 일관성을 충분히 얻을 수 있고 그 이외에도 <a href="http://en.wikipedia.org/wiki/Server-side_scripting" title="Server-side Scripting">서버 사이드 스크립트</a> 단에서 위의 코드에서 얻으려고 했던 이득을 놓치지 않을 수 있는 방법이 많이 있다. 이와 같은 오류를 범하지 않으려면 HTML의 구조화를 해치지 않고 자바스크립트 의존적인 페이지를 피하는 자세가 필요하다.</p>
]]></content:encoded>
			<wfw:commentRss>http://miya.pe.kr/2007/08/22/%ec%86%8c%ec%9c%84-%ed%9e%88%eb%93%a0%ed%8f%bc%ec%9d%b4%eb%9d%bc-%eb%b6%88%eb%a6%ac%eb%8a%94-html%ec%9d%98-%ec%98%a4%ec%9a%a9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

