Article View: pl.comp.lang.javascript
Article #51644Re: problem z formularzem
From: Cezary Tomczyk
Date: Sat, 05 Mar 2016 23:38
Date: Sat, 05 Mar 2016 23:38
97 lines
4049 bytes
4049 bytes
On 05/03/2016 23:02, Łukasz wrote:
> Mam problem z danymi formularza, które nie są przekazywane.
> Po zatwierdzeniu formularza, przekazywana jest jedynie zmienna id.
> Natomiast id2 oraz file1 nie.
> Proszę o wskazówki bo utknąłem :/
>
> w pliku index mam:
>
> <!-- awizo - pliki -->
> <div class="modal fade" id="modal_awizo_pliki" role="dialog">
> <div class="modal-dialog modal-lg">
> <div class="modal-content"></div>
> </div>
> </div>
>
> function awizo_pliki(id) {
> $.ajax({
> url : "awizo_plik_modal.php?id="+id,
> type: "GET",
> data: id,
> success: function(data) {
>
> $('#modal_awizo_pliki').modal('show');
> $('.modal-content').show().html(data);
> //console.log(r);
> }
> });
> }
>
> function pliki_edytuj() {
>
> var formData = new FormData($('#awizo_pliki_edytuj')[0]);
> $.ajax({
> url: 'awizo_db.php?a=pliki_edytuj',
> type: "POST",
> data: formData,
> cache:false,
> contentType: false,
> processData: false,
> success: function(response)
> {
> console.log(response);
> $('#modal_awizo_pliki').modal('hide');
> },
> error: function (jqXHR, textStatus, errorThrown)
> {
> //alert(data);
> console.log(data);
> }
> });
> }
>
> modal wywołuję przyciskiem z awizo_pliki(id)
> plik awizo_plik_modal.php wygląda tak, oczywiście w uproszczeniu bo mam
> tam trochę kodu który pobiera dane z bazy:
> <?php
> $id = strip_tags($_GET['id']);
> ?>
> <div class="modal-header">
> <button type="button" class="close" data-dismiss="modal"
> aria-label="Zamknij"><span aria-hidden="true">×</span></button>
> <h3 class="modal-title">Pliki</h3>
> </div>
>
> <div class="modal-body">
>
> <form action="#" id="awizo_pliki_edytuj"
> class="form-horizontal" enctype="multipart/form-data">
> <input id="id" name="id" type="hidden" value="<?php echo $id;
> ?>" />
> <input id="id2" name="id2" type="text" />
> <input type="file" id="file1" name="file1" />
> </form>
> </div>
>
> <div class="modal-footer">
> <button type="button" id="btnSave" onclick="pliki_edytuj()"
> class="btn btn-primary">Dodaj / Zmień</button>
> <button type="button" class="btn btn-danger"
> data-dismiss="modal">Zamknij</button>
> </div>
Nie podpinaj inline event handlerów -> onclick="pliki_edytuj()". Problem
tutaj masz taki, że funkcja pliki_edytuj jest wywoływana w globalnym
kontekście, czyli window, a jej tam nie ma. A przynajmniej domyślam się,
że jej tam nie ma ;-)
Zamiast inline event handlerów zrób to poprawnie:
$('#btnSave').click(pliki_edytuj);
https://jsfiddle.net/sygd9aa3/1/
--
Cezary Tomczyk
http://www.ctomczyk.pl/
Technical Details
Message-ID:
<affac$56db6ddc$520da86c$1156@nntpswitch.blueworldhosting.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.ripco.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mailReferences:
<nbfoiq$ulj$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.ripco.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!nntpswitch.blueworldhosting.com!not-for-mail Subject: Re: problem z formularzem Newsgroups: pl.comp.lang.javascript References: <nbfoiq$ulj$1@node2.news.atman.pl> From: Cezary Tomczyk <cezary.tomczyk@gmail.com> Date: Sat, 5 Mar 2016 23:38:03 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <nbfoiq$ulj$1@node2.news.atman.pl> Message-ID: <affac$56db6ddc$520da86c$1156@nntpswitch.blueworldhosting.com> X-Complaints-To: abuse@blueworldhosting.com Organization: BWH Usenet NNTPSwitch-Cluster Lines: 97 NNTP-Posting-Date: Sat, 05 Mar 2016 18:38:04 -0500 X-Trace: affac56db6ddcf7a80dc901156 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit