Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] val() nie pobiera wartości z inputa
Forum PHP.pl > Forum > Przedszkole
d.stp
Mam taki kawałek kodu:
  1. <input type="text" name="abc" placeHolder="Coś..." size="30" /><

teraz JS:
  1. var abc = $('input[name="abc"]').val();
  2. alert(abc);

i nie pobiera mi wartości z tego inputa... co najlepsze, jak dodam parametr value do inputa czyli np:
  1. <input type="text" name="abc" placeHolder="Coś..." value="test" size="30" />

to ładnie wyświetla tę wartość.

O co chodzi? sad.gif
markuz
Kiedy wywołujesz ten kod JS? Pokaż całość, bo z tego postu wynika, że wszystko działa tak jak powinno.
d.stp
Na samej górze pliku (includowany z indexu).
  1. $(document).ready(function() {
  2. $('#check').submit(function() {

w html:
  1. <form id="check">
markuz
http://jsfiddle.net/brmmua1p/
d.stp
Dobra.. już wiem co jest nie tak. Bo ten cały form wyświetlam w modalu i to przez to. Poradziłem sobie z tym. Teraz inny problem.

W pętli while pobieram sobie jakieś rekordy i wyświetlam:
  1. <a href="#" title="" class="red" class="report" data-id="'.$a['id'].'">zgłoś</a>


No i pytanie jak przekazać te data-id do modala sad.gif

Modal wyświetlam tak:
  1. <div id="report_window" style="display: none;">
  2. Zgłaszasz POST o ID: JAK_POBRAC_ID_Z_A.report
  3. </div>

JS:
  1. $('.report').click(function(e){
  2. $('#report_window').modal({
  3. autoResize: true
  4. });
  5. return false;
  6. });

Pomożecie? sad.gif
markuz
[JAVASCRIPT] pobierz, plaintext
  1. $('.report').click(function(e){
  2. var id = $(this).data('id');
  3. $('#report_window').append(id);
  4. ....
  5. }
[JAVASCRIPT] pobierz, plaintext
d.stp
@markuz, działa dzięki, tylko problem jest tego typu że:

1. Pobierze mi te ID, ale dalej chciałbym pobrać informacje dodatkowe do produktu (jest to prosty sklep).

Czyli pobieram sobie dane po kliknięciu:

var product_id = $(this).data('id');

I teraz mam modal:
  1. <div id="report_window" style="display: none;">
  2. <h3>Zgłaszasz produkt: NAZWA_PRODUKTU_SKAD_WZIAC</h3>


na siłę mógłbym wpakować do data-cos nazwę, ale potrzebuje kilku parametrów dotyczących tego produktu... najlepiej jakbym pobrał potrzebne informacje produktu prosto z bazy, tylko jak mam przekazać pobrane ID produktu do zapytania?

pozdro
markuz
Po stronie PHP robisz np. plik pobierzDaneProduktu.php
a w nim reagujesz na $_GET['id'] i zwracasz w JSON dane o produkcie (nazwa, itp. itd).

Potem po kliknięciu (w .report) wysyłasz request GET (AJAX) na link np. 'pobierzDaneProduktu.php?id=' + product_id, w callback (success) odbierasz dane, przekazujesz do diva #report_window za pomocą np. html('tresc') albo append('tresc') i wtedy dopiero wywołujesz modal.

O to chodziło? Jest to dosyc skomplikowane, jeżeli robisz to pierwszy raz - więc poczytaj sobie o AJAX.
d.stp
Ja już to robiłem setki razy, tylko coś zapomniałem... nie przypominam sobie żebym to robił za pomocą ajaxa a w jakiś sposób przekazywałem te dane do tego modala.. hmm kurcze, a nie ma innej opcji na przekazanie tych info?

dobra... zrobiłem takie coś:
  1. var product_id = $(this).data('id');
  2. var product = array();
  3. $.ajax({
  4. type: "POST",
  5. dataType: "JSON",
  6. url: "postback/get_product.php",
  7. data: "product_id="+product_id,
  8. success: function(data) {
  9. product = data[];
  10. }
  11. });
  12. alert(product["product_amount"]);


to nie działa, gdzie popełniam błąd? jak dam w success { alert(data["product_amount"]; } to wtedy działa. jak to zrobić? sad.gif
markuz
Kod
var product = array();
serio?
JavaScript nie działa w ten sposób, product będzie dostępny tylko w success, bo alert() się wykona wcześniej niż ajax.
d.stp
W takim razie jakiś pomysł żeby przekazać te dane do modala w postaci tablicy?

Bo w modalu ma być formularz i masa innych tekstów stałych, wartości z bazy (tego co pobieram) etc i chciałbym operować tymi danymi w postaci "Produkt NAZWA_PRODUKTU" czy "Ten produkt kosztuje WARTOSC_Z_BAZY zł".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.