IE5.0のオートコンプリートについて
[上に]
[前に]
[次に]
あきぞう
[E-Mail]
2000/01/29(土) 13:51:48
onChangeを使って再フォーマットを行っています。
---------------------------------------
<form name=a>
<input type=text name="a" onChange="document.a.b.value=document.a.a.value.substr(1,1)+document.a.a.value.substr(0,1)">
<input type=hidden name="b">
</form>
---------------------------------------
通常だとbにはちゃんと値がセットされるのですが、IE5.0のオートコンプリート機能を
使用した場合、bには値がセットされません。
onBlurに変えてやってみたのですがうまくいきません。
submitするタイミングでチェックするしかないのでしょうか?
それともなにか別の方法はあるのでしょうか?
よろしくおねがいします。
Mugi
[E-Mail]
[HomePage]
2000/01/29(土) 13:57:31
onblurで試してみたらうまくいきましたよ。
WinNT+IE5.01
あきぞう
[E-Mail]
2000/01/29(土) 14:29:17
早速の回答ありがとうございます。
onBlurですが、私も一瞬いけるじゃんと思ったのですが・・・
実際のところonBlurをよく理解していないせいか、
画面上ではちゃんと値がセットされているようなのですが実際に
POSTされる値が安定しません。
実際の画面は
From-toの日付指定+Submitボタンといったシンプルなものなのですが
前に入力された値でPOSTされてしまう場合があります。
最初オートコンプリートを使用して値をセットしたあと手入力で別の
日付を入力してsubmitをクリックするのでなくリターンキーを押下した
場合は必ず×です。
hiddenでかかれているところをtext型にして表示するようにして確認
したところちゃんと値はセットされています。。
あいまいでもうしわけない。。。
Mugi
[E-Mail]
[HomePage]
2000/01/29(土) 14:37:12
送信前にチェックを実行させるようにしてみては?
<script>
function format(){
document.a.b.value=document.a.name.value.substr(1,1)+document.a.name.value.substr(0,1)
}
</script>
<form name=a action="〜" onsubmit=format()>
<input type=text name="name" onblur="format()">
<input type=hidden name="b">
</form>
あきぞう
[E-Mail]
2000/01/29(土) 14:58:26
やっぱりsubmit時のチェックになってしまうのでしょうねぇ・・
ところで少し話しがずれてしまいますが
onBlurとonSubmitのイベントが発生する順番は
submitボタンをクリックする場合とエンターキーでsubmitを
押したことにする場合とで順番とか違うのでしょうか?
結局今回の現象はonBlurイベントが発生する前にonSubmitが
動いてしまってるような気配があるからで・・・んーなぞだ。
Mugi
[E-Mail]
[HomePage]
2000/01/29(土) 16:57:20
onblurはonfocusの逆で「エレメントがフォーカスを失ったら」発生します。
Enterでsubmitが働いたときはonblurは発生しません。
それから、Enterでsubmitできるのはフォーム内に、<input type=text>がひとつの場合です。
他にもEnterでできる条件が合ったと思うのですが忘れてしまいました。
[上に]
[前に]
[次に]