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

<input type="submit" value="submit" class="btn" >
で記述したボタンにロールオーバーを設定したいのですが、訳あってinput内に書くことができません。

色々と調べて試してみたのですが上手くいかないので、どなたか教えていただけませんか? よろしくお願いします。

私が試した方法は、<head></head>内に
<script TYPE="text/javascript">
<!--
startEvent("window","load","Over")
function Over(){
startEvent("document.forms[0].elemens[1]","onmouseover","Color");
}
function Color(){
document.forms[0].elemens[1].style.backgroundColor = "orange";
}
-->
</script>
以上を記述するという方法です。

A 回答 (4件)

こんなのはいかがです?


つかえるか保障はありませんが。

document.(省略).onmouseover='関数のカッコなし'
DOMの勉強のときにどこかのサイトで見ました。

「ドラッグアンドドロップでオブジェクトを動かす」
みたいなところで出てましたのでそちらのほうを見てみては

参考URL:http://www.hajimeteno.ne.jp/dhtml/dist/js13.html
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただきます。

お礼日時:2006/03/11 22:00

window.onload=function(){


document.forms[0].elements[1].onmouseover=Color;
}
function Color(){
this.style.backgroundColor = "orange";
//document.forms[0].elements[1].style.backgroundColor = "orange";
}
    • good
    • 0
この回答へのお礼

コピーさせていただいただけでそのまま動作させることができました。ありがとうございます。

お礼日時:2006/03/11 22:01

「訳あって」の訳次第じゃないですかねぇ・・・


単純にsubmitを何らかの理由でいじれないなら、
それをspanではさんでしまうというのは許される
のでしょうか?こんなかんじ

<span onMouseover="Color()">
<input type="submit" value="submit" id="btn0" class="btn" >
</span>
<script language="javascript">
function Color(){
document.getElementById('btn0').style.backgroundColor = "orange";
}
</script>
    • good
    • 0
この回答へのお礼

<body>内に書くこと自体ができない状況でした。しかし大変参考になりました。ありがとうございます。

お礼日時:2006/03/11 22:03

No.3へのコメント



W3C的には問題ありとはいえないのでは?
しかし、ブロック要素を要求するケースもあるわけで、
改行を嫌う必然性がない限り、理想的には、<span>よりも
<div>を使用するのがよいのかも。以下参考抜粋:

Generally, block-level elements may contain inline elements and other block-level elements. Generally, inline elements may contain only data and other inline elements. Inherent in this structural distinction is the idea that block elements create "larger" structures than inline elements.
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/11 22:04

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