ButtonタグでsubmitするとIEでバグるので・・・

例えば
< button type="submit" name="hoge" value="hogehoge">ほげほげ< /button>

とした場合
IE以外では、 $_POST["hoge"] の値が、「hogehoge」とvalue値を持ってきてくれる
しかし、IEでは「ほげほげ」とbuttonに囲まれたテキストを持ってきてしまうのだ。

実質、これを回避する方法は今のところない。

一応、Javascriptでやってみるかと思い、こんな事をしてみた。

< script type="text/javascript">
< !--
function clickButton(val) {
doc ument .getElementById("hoge").value=val;
var tag=do cument.getElementById("formA");
tag.submit();
}
//-->
< /script>

< form method="post" action="list.php" id="formA">
< button type="button" name="hoge" value="hogehoge" on Click="clickButton('hogeA');">ほげほげ< /button>
< input type="hidden" name="hoge" id="hoge">
< /form>



で、ここまで作って気がついたんだけど
Javascriptでsubmitするなら、aタグで問題ない。
結果的にスマートなソースにしたいので、こうなった。


< script type="text/javascript">
< !--
function clickButton(val) {
doc ument .getElementById("hoge").value=val;
var tag=do cument.getElementById("formA");
tag.submit();
}
//-->
< /script>

< form method="post" action="list.php" id="formA">
< a href="j avascript:void(0);" on Click="clickButton('hogeA');">
< a href="j avascript:void(0);" on Click="clickButton('hogeB');">
< a href="j avascript:void(0);" on Click="clickButton('hogeC');">
< input type="hidden" name="hoge" id="hoge">
< /form>


IEのバカっ!

※エキサイトでエラーになるので、ところどころ半角スペースいれています。



[PR]

by hiro__neko | 2013-04-03 13:36 | PGじゃない人間の備忘録  

<< 恥ずかしい失敗を忘れないための... 誕生日から自動的に年齢を計算したい >>