Använder mig utav ett ajax script som ska lista olika stadsalternativ när man skriver in en ort. Fungerar så långt. Men när man valt en ort som kommer upp i listan, och sedan ska registrera så blir den formen tom.
Den verkar inte vilja lägga in informationen i databasen ?
Såhär ser koden ut i create_acc.asp
'Kollar om anvnamnet är upptaget
Set ObjRS = ObjConn.Execute("SELECT * FROM medlemmar where anvnamn='"& Fixbug(Request.Form("anvnamn")) &"'")
If ObjRS.eof then
'Användaren läggs in i databasen med SQL'n nedan
ObjConn.Execute("INSERT INTO medlemmar (anvnamn, epost, kon, poang, visa_poang, admin, moderator, rank, icq, losen, alder, reggad, datum, stad) VALUES ('"& Fixbug(Request.Form("anvnamn")) &"', '"& Fixbug(Request.Form("epost")) &"', '"& Fixbug(Request.Form("kon")) &"' , '10', '1', '0', '0', '0', '"& Fixbug(Request.Form("stad")) &"', '"& Fixbug(Request.Form("losen")) &"', '"& alder &"', '"& now() &"', '"& now() &"') ")
select_stad.asp
<%
Dim arrStad, strStad
Response.Write "<input type=""text"" id=""CityLocal"" class=""regform"" name""stad"" />" & VbCrLf
%>
<script type="text/javascript">
function findValue(li) {
if( li == null ) return alert("No match!");
// if coming from an AJAX call, let's use the CityId as the value
if( !!li.extra ) var sValue = li.extra[0];
// otherwise, let's just display the value in the text box
else var sValue = li.selectValue;
alert("The value you selected was: " + sValue);
}
function selectItem(li) {
findValue(li);
}
function formatItem(row) {
return row[0] + " (id: " + row[1] + ")";
}
function lookupAjax(){
var oSuggest = $("#CityAjax")[0].autocompleter;
oSuggest.findValue();
return false;
}
function lookupLocal(){
var oSuggest = $("#CityLocal")[0].autocompleter;
oSuggest.findValue();
return false;
}
$(document).ready(function() {
$("#CityAjax").autocomplete(
"autocomplete_ajax.cfm",
{
delay:10,
minChars:2,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:true
}
);
$("#CityLocal").autocompleteArray(
[
"Abbekås", "Abborrträsk", "Abisko", "Adak", "Adelsö", "Agnesberg", "Agunnaryd", "Alafors", "Alby", "Alfta", "Alingsås", "Almunge"
],
{
delay:10,
minChars:1,
matchSubset:1,
onItemSelect:selectItem,
onFindValue:findValue,
autoFill:true,
maxItemsToShow:10
}
);
});
</script>
Om du tittar på din SQL-sats så ser du har oordning bland fälten och dess värden. samt att du skriver in 14 olika fält men skickar bara med värden för 13st.
Du har med ett ICQ-fält men skickar inte in något värde till den (eller du skickar in värdet för stad till ICQ).
Ett tips är att lagra sql-satsen i en variabel så att du kan debugga och kopiera ut SQL-satsen och kontrollera hur den verkligen ser ut (med alla värden) innan den körs.