重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

現在、リアルタイムに検索するUIを作成しているのですが、
ime入力(日本語入力)中にget送信し、同時に入力している
input要素をcssで移動すると一文字目が表示されません。

どなたかご教授ください。
よろしくおねがいいたします。

A 回答 (3件)

こんにちは。



ちょっと試してみましたが私の環境では特にそういった現象が起きませんでした。

お役に立てなくて申し訳ございません。
    • good
    • 0

こんにちは。



補足ありがとうございました。
しかし、ソースだけを提示頂いても仕様や現在起こっていることがよくわかりません。
再現させるオペレーション(こうやってこうしたとき)、この辺じゃないかな?という当たりをつけた場所等もお教えください。

読んでればある程度の仕様は見えてきますが、正確な仕様が無いと何を持ってバグと言っているのかがわからないです。

この回答への補足

たびたび申し訳ございません。

仕様に関しては最初にあげたとおり、
文字入力するたびにget送信して、その戻り値を
アウトプットしておるのですが、
最初の一文字を打ってcssにて、レイアウト変更しております。
imeで一文字だけ入力した場合、firefoxにてinputから文字が消えてしまいます。
二文字目を入力すると最初の文字も出てきます。



例)

「あ」
と入力するとinputから消えてしまう。

「ああ」
と入力するとinputに「ああ」と表示される。



その他に、firefoxにてimeで二文字目を入力するとget送信がされなかったりします。

思い当たるところで、処理の順番を入れ替えたりしてみましたが、
内容は改善されませんでした。

補足日時:2012/02/10 18:04
    • good
    • 0

こんにちは。



現状のソースでどのような処理をしているかがわからないと回答が難しいです。

開示できるのであれば補足ください。

この回答への補足

さっそく回答ありがとうございます。

ソースは下記のような感じです。
どうぞよろしくお願いいたします。

html-----------------------------------------------------------------------

<input type="text" maxlength="2048" autocomplete="off" size="41" title="検索" value="" id="q" name="q" />

script---------------------------------------------------------------------
$(function(){
var q=$('input#q');
q.replaceWith('<span id="clear"></span>');
$('span#clear').append(q).append('<span class="clear">&times;</span>').addClass('clear-group');
var group=$('span#clear').css('height',q.attr('offsetHeight')),btn=$('span.clear',group).css('height',group.height());
if(q.val().length<1)btn.hide();
q.focus();
$('div#body').after('<div id="search_results"></div>');
$('div#search_button').click(function(e){
e.preventDefault();
ajax_search();
});
q.keyup(function(e){
e.preventDefault();
ajax_search();
});
//Firefox IME
q.bind('text',function(e){
e.preventDefault();
ajax_search();
});
//clear
btn.click(function(){
q.val('');
ajax_search();
});
function ajax_search(){
var r=$('div#search_results');
if(q.val().length>0){
btn.show();
r.show();
if(!$('#body').hasClass('search')){
$('div#logo div,input#f_search_button,div#news,div#foot,a#change_bg,img#bg,address').hide();
group.css({'float':'left','width':'570px'});
$('div#q_box')
.before($('div#logo')
.css({margin:0,background:'url("./common/img/logo_ss.png") no-repeat',width:'114px',height:'41px',float:'left',margin:'18px 2.8%'})
).css({float:'left',margin:'24px 0',width:'660px'});
q.css({margin:0});
$('div#logo h1')
.wrapInner($('<a></a>')
.attr('href',location.href)
.css({display:'block',width:'114px',height:'41px'})
);
}
$('div#body').addClass('search');
$.get('../search.php',{'q':q.val()},function(data){
if(data.length>0){
r.html(data);
}
});
}else{
btn.hide();
r.slideUp();
q.focus();
}
}
});

補足日時:2012/02/10 15:41
    • good
    • 0

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