Hallöle Mitprogrammierer !
Wir schon in der Überschrift beschrieben nutze ich die JQuery Bibliothek und bin auf ein Problem gestoßen.
Ich habe eine Suchleiste in welche man nur einzelne Begriffe eingeben darf, also Leerzeichen verhindert werden sollen. Im gleichen Moment schickt die selbe Funktion ein Ajax (POST) raus um eben eine Live-Suche anzuzeigen.
Also gebe ich z.B. soetwas ein:
"12345" und drücke dann "6" wird als Post-Variable nur "12345" übergeben, da ich dieses Request per Keydown auslöse, also die Funktion feuert bevor die "6" das Input-Feld erreiuch hat. Die Lösung für dieses Problem ist klar mit keypress oder keyup lösbar.
Nun kommt aber die zweite Schwierigkeit.
Von diesen 3 Events kann nur das keydown-event die Eingabe von ungewünschten Zeichen verhindern.
Hat jemand eine Idee, wie man diesen speziellen Fall lösen könnte?
Mein Jquery-javascript:
PS: Ich arbeite hier ohne JSON, da ich eh nur HTML von dem PHP-File erhalte.
MfG Peytra
Wir schon in der Überschrift beschrieben nutze ich die JQuery Bibliothek und bin auf ein Problem gestoßen.
Ich habe eine Suchleiste in welche man nur einzelne Begriffe eingeben darf, also Leerzeichen verhindert werden sollen. Im gleichen Moment schickt die selbe Funktion ein Ajax (POST) raus um eben eine Live-Suche anzuzeigen.
Also gebe ich z.B. soetwas ein:
"12345" und drücke dann "6" wird als Post-Variable nur "12345" übergeben, da ich dieses Request per Keydown auslöse, also die Funktion feuert bevor die "6" das Input-Feld erreiuch hat. Die Lösung für dieses Problem ist klar mit keypress oder keyup lösbar.
Nun kommt aber die zweite Schwierigkeit.
Von diesen 3 Events kann nur das keydown-event die Eingabe von ungewünschten Zeichen verhindern.
Hat jemand eine Idee, wie man diesen speziellen Fall lösen könnte?
Mein Jquery-javascript:
PHP-Code:
$('body').on('keydown', '#main_search',function(event){
if(event.keyCode != 32)
{
if($(this).val().length > 3)
{
var url = 'eine URL ;)';
$.post( url,{search:$(this).val()}, function(data) {
$('#pre-show-box').html(data);
$('#pre-show-box').show();
});
}
}
else
{
event.stopPropagation();
event.preventDefault();
}
});
MfG Peytra
Kommentar