プロが教える店舗&オフィスのセキュリティ対策術

クリックしたセルのidとnameを取得するものですが
document.form1.send.value = disp_area_all ;のform1を
変数に置き換えることは出来るでしょうか?

tableもFORMも沢山あってクリックした場所によって別のFORMで
idとnameを取得したいのですが。



<html>
<head>
<title></title>
<script language="JavaScript">
<!--
var disp_area = new Array();
var disp_event;
var disp_id;
var disp_name;

function check_event() {
disp_id = null;
disp_name = null;
if ( event.srcElement ) {
disp_id = event.srcElement.id;
disp_name = event.srcElement.name;
}

switch ( disp_event ) {
default:
disp_area_all = '';
disp_area[0] = 'Id:' + disp_id + ' Na:' + disp_name
disp_area_all = disp_area_all + disp_area[0] ;
document.all.send.value = disp_area_all ;
document.form1.send.value = disp_area_all ;
break;
}
}
//-->
</script>
</head>
<body>

<table border=1><tr>
<td onClick="check_event()" STYLE="width:30; height:30; background:#0000ff"
id='10' name='1'></td>
</tr></table>

<FORM method="POST" name='form1' action="">
<input type="text" size=10 name="send"><br>
<input type="submit" value="送信">
</FORM>

</body>
</html>

A 回答 (2件)

こんなモンでどうでしょ?





<html>
<head>
<title></title>
<script language="JavaScript">
<!--

var fn;
var disp_id;
var disp_na;
var disp_vl;

function chk(fn,obj) {
disp_id = null;
disp_na = null;
disp_id = obj.id;
disp_na = obj.name;
disp_vl = 'Id:' + disp_id + ' Na:' + disp_na;
document.all(fn).send.value = disp_vl ;
}
//-->
</script>
</head>
<body>

<table border="1"><tr>
<td><div id="10" name="1" onClick="chk('form1',this)" style="width:30; height:30; background:#0000ff"></div></td>
</tr></table>

<table border="1"><tr>
<td><div id="15" name="2" onClick="chk('form2',this)" style="width:30; height:30; background:#00ff00"></div></td>
</tr></table>

<table border="1"><tr>
<td><div id="20" name="3" onClick="chk('form3',this)" style="width:30; height:30; background:#ff0000"></div></td>
</tr></table>

<form method="POST" name="form1" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

<form method="POST" name="form2" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

<form method="POST" name="form3" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

</body>
</html>

※取得したnameとの組み合わせから、ターゲットとなるフォーム名(fn)を
 生成するようにすれば、もっと簡単に以下のようにもできるかと。

<html>
<head>
<title></title>
<script language="JavaScript">
<!--

var fn;
var disp_id;
var disp_na;
var disp_vl;

function chk(obj) {
disp_id = null;
disp_na = null;
disp_id = obj.id;
disp_na = obj.name;
disp_vl = 'Id:' + disp_id + ' Na:' + disp_na;
fn="form" + disp_na;
document.all(fn).send.value = disp_vl;
}
//-->
</script>
</head>
<body>

<table border="1"><tr>
<td><div id="10" name="1" onClick="chk(this)" style="width:30; height:30; background:#0000ff"></div></td>
</tr></table>

<table border="1"><tr>
<td><div id="15" name="2" onClick="chk(this)" style="width:30; height:30; background:#00ff00"></div></td>
</tr></table>

<table border="1"><tr>
<td><div id="20" name="3" onClick="chk(this)" style="width:30; height:30; background:#ff0000"></div></td>
</tr></table>

<form method="POST" name="form1" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

<form method="POST" name="form2" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

<form method="POST" name="form3" action="">
<input type="text" size="10" name="send"><br>
<input type="submit" value="送信">
</form>

</body>
</html>
    • good
    • 0
この回答へのお礼

某所から引用させて頂いたものから、必要な部分のみを
残したつもりですが、すべてを読み切れていませんでした。
フォーム名(fn)を生成する方法は、すっきりしていて良いですね。
ありがとう御座います。

お礼日時:2003/01/27 11:04

> document.form1.send.value = disp_area_all ;のform1を


> 変数に置き換えることは出来るでしょうか?

できますよん。

formname = "form1";
document.forms[ formname ].send.value = ~;

という書き方ができます。
    • good
    • 0
この回答へのお礼

ありがとう御座いました。助かりました。

お礼日時:2003/01/27 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!