だいたいわかった(;´Д`) cに style={a:expression(eval(document.forms[0].count.value))} %81 が設定されて <INPUT type="hidden" name="c" value=" style=a:expression(eval(document.forms[0].count.value))} > となって余分なダブルクォートが消えて <INPUT type="hidden" name="c" value= style=a:expression(eval(document.forms[0].count.value))} > となってstyle中のevalが実行されるんだな フォーム変数使う前に http://itpro.nikkeibp.co.jp/article/COLUMN/20070307/264098/ の例のように\x81とか無効な文字を消すようにしようぜ 当然 < とか > とかそういう記号も消すかエスケープ