プロが教えるわが家の防犯対策術!

はじめまして。
JavaScript初心者です。

onclick時にその中にあるfunction名の変更をしたいのですが、どうしてもできません。

下記のように記述していますが、問題点、やり方など教えてほしいです。

document.name.onclick="function名";

よろしくお願いします。

A 回答 (4件)

こんな感じで・


onloadで設定していますけど、要は、読込後に実行されるならどこでもいいです。
----------------------------------------------------
<html>
<head>
<script type="text/javascript">
function init(){
document.FORM1.aaa.onclick=testScript2;
}
function testScript2() {
alert("testScript2 実行!");
}

function testScript() {
alert("testScript 実行!");
}
</script>
</head>
<body onload="init()">
<form name="FORM1">
<input type="button" name="aaa" value="aaa" onclick="testScript()">
<input type="button" name="bbb" value="bbb" onclick="testScript()">
</form>
</body>
</html>
    • good
    • 0
この回答へのお礼

なるほど、これならいけそうですね。
ありがとうございます。

お礼日時:2005/10/16 01:43

あまり動的に関数名までいじってしまうと


メンテナンス性が落ちる可能性もあります。
できるできないは他の回答者さんの回答を
適切に判断いただければとは思いますが、
実質受け渡すパラメータを調整して
関数内で分岐した方がひいては作り側の作業軽減に
もつながるような気がします。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

本来ならそのほうが望ましいのですが、
自分が勉強不足なため効率が悪くなってしまいました。

お礼日時:2005/10/16 01:48

>ちなみにこの関数はwinie限定なんでしょうか?


>ほかのブラウザ(firefox)では動作しませんでした。
http://www.kawaz.jp/pukiwiki/?JavaScript%A5%E1%A …
の一番下参考

面倒なら、No2さんのやり方で。
    • good
    • 0
この回答へのお礼

なるほど。
完全に理解するには
まだまだ勉強が必要ですね。
ありがとうございました。

お礼日時:2005/10/16 01:38

attachEventって関数使わないとだめです。



サンプル
<html>
<head>
<script type="text/javascript">

function testScript2() {
alert("www");
}

function testScript() {
bbb.attachEvent('onclick', testScript2);
bbb.value ="uuu";
}
</script>
</head>
<input type="button" name="aaa" value="aaa" onclick="testScript()">
<input type="button" name="bbb" value="bbb" onclick="testScript()">
</html>
    • good
    • 0
この回答へのお礼

できました!
ありがとうございます。

ちなみにこの関数はwinie限定なんでしょうか?
ほかのブラウザ(firefox)では動作しませんでした。

お礼日時:2005/10/15 01:33

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