[PHP-users 7413] Re: Formの要素を配列にした場合のJavaScriptでの扱い
Naofumi Kondoh
php-users@php.gr.jp
Mon, 13 May 2002 22:20:29 +0900
ソフト工房の近藤です。
otsuka wrote:
> サーバーに発信するFORMのtext等の要素を[ ]付きの配列型の命名にした場合
> JavaScript側でこの要素を特定する方法がわかりません。
--- snip ---
いくつかフォローがついて解決したと思います。
以前に作ったサンプルがあるので、ご参考までに。
私は、name="abc[{$ii}]" のように、明示的に添字を
つける方法を使っています。
<xml>
<html>
<head>
<script language="JavaScript">
function test_1()
{
var ii, mm='---- test 1 : NN = '+NN+' ----\n';
for(ii=0; ii<NN; ++ii){
mm +='\n' + document.myform.elements['foo['+ii+']'].value;
mm +='\n' + document.myform.elements['hoge[]'][ii].value;
}
alert(mm);
}
function test_2(obj)
{
alert('[test 2 ] obj.name = '+obj.name+' obj.value = ' + obj.value);
}
</script>
</head>
<body>
<?php
$NN = 3;
echo <<< EOD____1
<script language="JavaScript">
var NN = $NN; // PHP の変数を JavaScript 広域変数に渡す。
</script>
EOD____1;
echo "<form name=myform action=post>";
echo "何か入力して TAB キーを押して下さい。<hr>";
for($ii=0; $ii<$NN; ++$ii){
echo <<< EOD____2
INPUT test 1 : <input tyoe=text name="foo[{$ii}]"
onChange="test_1();"
value="TEST-1 foo[{$ii}] です" size=40>
INPUT test 2 : <input tyoe=text name="hoge[]"
onChange="test_2(this);"
value="TEST-2 添字 {$ii} の hoge[] です" size=40>
<hr>
EOD____2;
}//END.FOR.LOOP
echo "</form>";
?>
</body>
</html>
</xml>
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
・ 5/29 - 5/31 Linux World .org Pavilion JPUG
(株)ソフト工房 近藤直文 Email: nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/ http://www.shonan.ne.jp/~nkon/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/