input value nem megy Firefoxban.
Egy automatikus kiegészítőt készítek, ami kilistázza a kereső mezőbe beírt stringgel kezdődő neveket. Ott van a gond, hogy a listában egy adott névre kattintva azt szeretném, hogy az a név kerüljön bele a kereső mezőbe. IE alatt működik, de FF alatt nem kerül bele ez az érték a szövegdobozba. Fogalmam sincs miért, lehet, hogy egy orbitális elnézés az egész.
a kód:A 'click' tagfüggvény this.input.value = source.firstChild.nodeValue; sorát nem veszi a FF. Mi lehet a gond?
A segítséget előre is köszönöm.
Laci
■ a kód:
- var nevkereso = Class.create();
- nevkereso.prototype = {
- initialize: function(input_id, button_id, eredmeny_div, div_class){
- this.input = $(input_id);
- this.eredmeny_div = $(eredmeny_div);
- this.div_class = div_class;
- this.button = $(button_id);
- Event.observe(this.input, 'keyup', this.nevet_keres.bind(this), false);
- },
- nevet_keres: function(){
- if(this.input.value == '') this.button.setAttribute('disabled', true);
- var input_val = this.input.value;
- var pars = 'text=' + base64enc(escape(input_val));
- var url = 'http://localhost/laser/neveket_keres.php?';
- var myAjax = new Ajax.Updater(
- this.eredmeny_div,
- url,
- {
- method: 'post',
- parameters: pars,
- onFailure: this.reportError.bind(this),
- onComplete: this.registerHandlers.bind(this),
- onLoading: this.show_load.bind(this)
- });
- },
- reportError: function(){
- alert('A szerver oldalon hiba történt.');
- },
- registerHandlers: function(){
- var divs = document.getElementsByClassName(this.div_class);
- divs.each(
- function(elem, index){
- Event.observe(elem, 'mouseover', this.over.bindAsEventListener(this), false);
- Event.observe(elem, 'mouseout', this.out.bindAsEventListener(this), false);
- Event.observe(elem, 'click', this.click.bindAsEventListener(this), false);
- }.bind(this)
- )
- },
- show_load: function(){
- },
- over:function(e){
- var source = Event.element(e);
- source.className = 'lookup_nev_over';
- Event.stop(e);
- },
- out: function(e){
- var source = Event.element(e);
- source.className = 'lookup_nev';
- Event.stop(e);
- },
- click: function(e){
- var source = Event.element(e);
- this.input.value = source.firstChild.nodeValue;
- this.button.setAttribute('disabled', false);
- Event.stop(e);
- }
- }
A segítséget előre is köszönöm.
Laci
senki sem futott még ilyenbe?
alert(source.firstChild.nodeValue)
rendesen kiadja az input mezőbe írandó nevet, az input mezőbe is bekerül valami láthatatlan, mert a kurzor odébb ugrik. Mindez FF alatt, IE-ben rendesen működik.Mi lehet ez?
azt így ránézésre
fx/FireBug/debuggerében teszel oda egy töréspontot és megnézed
http://encytemedia.com/blog/articles/2006/05/12/an-in-depth-look-at-the-future-of-javascript-debugging-with-firebug
;) (alert helyett meg console.log :) )
üdv t
ui: http://wiki.script.aculo.us/scriptaculous/show/Ajax.Autocompleter kukk meg
megvan!
A szerver által visszaküldött HTML smartyval készült, így benne maradt az összes sortörés és szóköz, persze, hogy a szövegmező nem ette a dolgot, mivel valami ilyesmi értéket kapott:
" \n \n érték"
Okulásul, ha valaki ilyenbe belefutna:
ilyen volt:
a {$nevsor[num].name} érték menne a szövegmezőbe
szivesen ^^,
http://weblabor.hu/blogmarkok/14876
és imádkozni hozzá esténként jó javascript fejlesztő módjára :))))
üdv t