To, co muszę zrobić, to zapytanie bazy danych, jeśli wartości formularza są "jak" dowolne przechowywane dane, a następnie zwróć wyniki jako tabela (formularz wyszukiwania). Akcja formularza wywołuje funkcję JavaScript. Ta funkcja jest zatwierdza wejście i ładuje tabelę do tego samego div formularz jest w (AJAX). W mojej stronie Coldfusion jest tam, gdzie w rzeczywistości zapytamy, więc muszę uzyskać dostęp do tych wartości polowych. Moje pytanie brzmi: jak jest najlepszym sposobem na to? # Form.Value # nie działa, ponieważ obiekt formularza nie jest wysyłany do Coldfusion.

Czy:

Podaj obiekt DOM Form do funkcji JavaScript, a następnie przejść do Coldfusion? Jeśli tak to jak?

Odniesienie Wartości pola Formu w mojej stronie Coldfusion bez formowania faktycznie składania? Jeśli tak to jak? (Forma przesyła na przycisku Kliknij, ale nie odświeżanie, tylko wywołanie funkcji JavaScript, jak wyjaśniono powyżej).

Dzięki

1
Jeff Fabiny 2 sierpień 2012, 18:00

2 odpowiedzi

Najlepsza odpowiedź

Najłatwiej było przesłać do iframe i przetworzyć tam formę.

0
Jeff Fabiny 15 sierpień 2012, 15:52

Twój javascript będzie coś w rodzaju:

var theValue = $("#thefield").val();
$.ajax({ type: "GET", url: "/processajax.cfm", data: {value: theValue}, dataType: "json", success: showResult });

Twój kod Coldfusion będzie obejmował coś w rodzaju:

<cfcontent reset="true" type="application/json; charset=utf-8">
<cfset someData = doSearch(URL.value)>
<!--- Build data into array --->
<cfset dataArray = [...]>
<cfoutput>#SerializeJSON(dataArray)#</cfoutput>

Następnie z powrotem w JavaScript Twoja funkcja wywołania wywołania zostanie wykonana wtedy, gdy następnie wykonasz dane tablicy i zbudować wynikowy HTML (lub użyj systemu templujących, aby zrobić to dla Ciebie) i przyklej go w żądanym div.

6
nosilleg 2 sierpień 2012, 14:30