締切り済みの質問
1人が「このQ&Aが役に立った」と投票しています
回答(3件中 1~3件目)
こんにちは。
補足ありがとうございました。
しかし、ソースだけを提示頂いても仕様や現在起こっていることがよくわかりません。
再現させるオペレーション(こうやってこうしたとき)、この辺じゃないかな?という当たりをつけた場所等もお教えください。
読んでればある程度の仕様は見えてきますが、正確な仕様が無いと何を持ってバグと言っているのかがわからないです。
投稿日時 - 2012-02-10 16:25:53
補足
たびたび申し訳ございません。
仕様に関しては最初にあげたとおり、
文字入力するたびにget送信して、その戻り値を
アウトプットしておるのですが、
最初の一文字を打ってcssにて、レイアウト変更しております。
imeで一文字だけ入力した場合、firefoxにてinputから文字が消えてしまいます。
二文字目を入力すると最初の文字も出てきます。
例)
「あ」
と入力するとinputから消えてしまう。
「ああ」
と入力するとinputに「ああ」と表示される。
その他に、firefoxにてimeで二文字目を入力するとget送信がされなかったりします。
思い当たるところで、処理の順番を入れ替えたりしてみましたが、
内容は改善されませんでした。
投稿日時 - 2012-02-10 18:04:25
こんにちは。
現状のソースでどのような処理をしているかがわからないと回答が難しいです。
開示できるのであれば補足ください。
投稿日時 - 2012-02-10 15:34:14
補足
さっそく回答ありがとうございます。
ソースは下記のような感じです。
どうぞよろしくお願いいたします。
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">×</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:57
OKWaveのオススメ
おすすめリンク