Joomla Version: 4.3.3
PHP Version: PHP 8.1.x
Hoster: lokal
Hallo Alle,
Beim filtern der Listeneinträge meiner Komponente werden von der filter_search Leerzeichen entfernt. Z.B. suche ich nach "xxx zzz", erhalte ich ein leeres Ergebnis, obwohl dieser Eintrag in der Liste enthalten ist.
Wenn ich mir den Inhalt von $app->input mit var_dump anzeigen lasse, ist im "data"-Objekt der Eintrag
korrekt angegeben.
Mit $app->input->get('filter_search') bekomme ich aber die Ausgabe "xxxzzz" ohne Leerzeichen.
Das fieldset sieht in der Ausgabe so aus ("xxx zzz" steht für: "Schmitz Gotha"):
<fieldset id="filter-bar">
<div class="filter-search fltlft">
<label class="filter-search-lbl">Marke:</label>
<select name="filter_search" id="filter_search">
<option onclick="document.getElementById('filter_search').value = 'Ford'; this.form.submit();">Ford</option>
<option onclick="document.getElementById('filter_search').value = 'Iveco'; this.form.submit();">Iveco</option>
<option onclick="document.getElementById('filter_search').value = 'Krone'; this.form.submit();">Krone</option>
<option onclick="document.getElementById('filter_search').value = 'MAN'; this.form.submit();">MAN</option>
<option onclick="document.getElementById('filter_search').value = 'Mercedes'; this.form.submit();">Mercedes</option>
<option onclick="document.getElementById('filter_search').value = 'Peugeot'; this.form.submit();">Peugeot</option>
<option onclick="document.getElementById('filter_search').value = 'Renault'; this.form.submit();">Renault</option>
<option onclick="document.getElementById('filter_search').value = 'Saxas'; this.form.submit();">Saxas</option>
<option onclick="document.getElementById('filter_search').value = 'Schmitz Gotha'; this.form.submit();">Schmitz Gotha</option>
<option onclick="document.getElementById('filter_search').value = 'VW'; this.form.submit();">VW</option>
</select>
<button type="button" onclick="document.getElementById('filter_search').value = '';this.form.submit();">Zurücksetzen</button>
</div>
</fieldset>
Alles anzeigen
Und in php sieht es so aus:
<fieldset id="filter-bar">
<div class="filter-search fltlft">
<label class="filter-search-lbl">
<?php JText::_('JSEARCH_FILTER_LABEL'); ?> Marke:
</label>
<select name="filter_search" id="filter_search">
<?php
$makes = $this->makes;
foreach ($makes as $make) {
?>
<option onclick ="document.getElementById('filter_search').value = '<?php echo $make->description; ?>'; this.form.submit();"><?php echo $make->description; ?></option>
<?php } ?>
</select>
<button type="button" onclick ="
document.getElementById('filter_search').value = '';
this.form.submit();
" >
<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>
</button>
</div>
</fieldset>
Alles anzeigen
Wenn ich mir in der onclick-Methode mit alert den Wert von "filter_search" anzeigen lasse, ist das Leerzeichen korrekt vorhanden.
An welcher Stelle verschwindet das Leerzeichen, wie kann ich es erhalten?