dzięki

rozwiązałeś sporo moich problemów
EDIT: Jednak mam jeszcze jeden problem. Mam pole input typu autocomplet tak aby po wpisaniu pierwszych liter jakiegoś słowa pokazało podpowiedz pasujących słów.
Jeśli pole
<input type="text" id="autocomplete-custom1" >
<input type="text" name="selectcustom1_id" id="selectcustom1_id" />
zostanie 'załadowane' za pomocą xmlhttp.open niestety nie chce działać poprawnie czyli nie pokazuje podpowiedz pasujących słów.
Fragment kodu z pliku formularza
<select name="lista" id="lista" onchange="showCustomer(this.value)">
<option value="0">jeden</option>
<option value="1">dwa</option>
<option value="2">trzy</option>
</select>
<div id="txtHint"> Tu pokaże nowe pola po wybraniu czegoś z powyższej listy</div>
// Skrypt odpowiedzialny za załadowanie nowych danych do div'a 'txtHint' po wybraniu czegoś z listy
<script>
function showCustomer(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("txtHint").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","showfield.php&idfield="+str,true);
xmlhttp.send();
}
</script>
// Skrypt odpowiedzialny za pole autocomplete, który wysyła dane do fieldauto.php gdzie wszystko jest pobierane z bazy danych w pętli while
<script type='text/javascript' >
$( function() {
$( "#autocomplete-custom1" ).autocomplete({
minLength: 2,
source: function( request, response ) {
$.ajax({
url: "fieldauto.php",
type: 'post',
dataType: "json",
data: {
search: request.term,
},
success: function( data ) {
response( data );
}
});
},
select: function (event, ui) {
$('#autocomplete-custom1').val(ui.item.label); // display the selected text
$('#selectcustom1_id').val(ui.item.value); // save selected id to input
return false;
}
});
});
return val
.split( /,\s
*/ ); }
function extractLast( term ) {
return split( term
).pop
(); }
</script>
W showfield.php
mam na razie jedynie taki kod
echo '<input type="text" id="autocomplete-custom1" > <input type="text" name="selectcustom1_id" id="selectcustom1_id" />';
Podsumowując jeśli powyższy fragment umieszczam od razu w kodzie formularza, to pole działa. Ale mi nie chodzi o to by wszystkie pola wyświetlić od razu w formularzu, chcę je wyświetlić tylko wtedy jeśli użytkownik wybierze 'coś' z list. Po wybraniu czegoś z listy, pola 'magicznie' się pojawiają w formularzu, ale pole typu autocomplete nie pokazuje propozycji, zero reakcji. Jakiś konflikt script? co robię źle?
EDIT: Po 10 godzinach szukania rozwiązania już sobie poradziłem. Wszytko trzeba robić za pomocą "ajax post"