Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] val() nie pobiera wartości z inputa
d.stp
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Kiedy wywołujesz ten kod JS? Pokaż całość, bo z tego postu wynika, że wszystko działa tak jak powinno.
Go to the top of the page
+Quote Post
d.stp
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


Na samej górze pliku (includowany z indexu).
  1. $(document).ready(function() {
  2. $('#check').submit(function() {

w html:
  1. <form id="check">
Go to the top of the page
+Quote Post
markuz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


http://jsfiddle.net/brmmua1p/
Go to the top of the page
+Quote Post
d.stp
post
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
markuz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. $('.report').click(function(e){
  2. var id = $(this).data('id');
  3. $('#report_window').append(id);
  4. ....
  5. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
d.stp
post
Post #7





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


@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
Go to the top of the page
+Quote Post
markuz
post
Post #8





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markuz 18.11.2015, 17:53:48
Go to the top of the page
+Quote Post
d.stp
post
Post #9





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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ć? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
markuz
post
Post #10





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
d.stp
post
Post #11





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

Ostrzeżenie: (0%)
-----


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ł".

Ten post edytował d.stp 18.11.2015, 18:44:52
Go to the top of the page
+Quote Post
markuz
post
Post #12





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


http://kursjs.pl/kurs/jquery/jquery_ajax.html
http://webroad.pl/javascript/746-synchroni...synchronicznosc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 18:19