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

下記ソースで、address1をクリップボードから貼り付けても、
function changeaddress1() がよばれないのは、
なぜでしょか?
また、からなず、呼ばれるイベントはありますでしょか?

******************************************************************
<html xmlns="http://www.w3.org/1999/xhtml" pageEncoding="UTF-8">
<head>

<script type="text/javascript" charset="UTF-8">
function changeaddress1() {
var strAddress1 = document.zip_form.address1.value;
document.write("strAddress1:"+strAddress1);
}
</script>

</head>
<body>

<form action="./" id="zip_form" method="post">
<input type="text" id="address1" name="address1" onChange="changeaddress1()>
</form>

</body>
</html>

A 回答 (1件)

>クリップボードから貼り付けても、



貼りつけるだけじゃキー入力の途中とかわらないので無理ですね
たとえば「abc」と入力したいときにaを入力した時点でonchangeが
動いてしまったらウザくてしかたないでしょ?
確定するまでonchangeは起動しません。
(その意味ではonblurに近い感じですね)

キー入力の途中でチェックするときは通常onkeyup(場合によってはonkeydown)
イベントを利用しますが、マウスからクリップボードの貼りつけをしても
キー入力がないので反応しません
厳密にしたいなら、バックグラウンドでsetTimeoutやsetIntervalを利用して
チェッカーを走らせることです
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
キー入力はしないので、自動で、HTML表示完了イベントで、強制的に、プログラムを呼び出して、テキストフィールドに値をセットさせるので、
ご回答どおり、タイマーが適切でした。

お礼日時:2015/07/06 11:16

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