Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Wysłanie formularza w sposób tradycyjny, jak wyłączyć jQ "na chwile" ?
Tomplus
post 15.05.2011, 01:26:53
Post #1





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Witam,
Mam kod jQuery obsługujący formularz <form id='ZapiszDane'>:

Czyli jak wyłączyć jQuery dla jednego elementu w całym zbiorze ?

  1. $('#ZapiszDane').click(function() {
  2. $('#ZapiszDane').submit()
  3. {
  4. var param = 'js=1&' + \$('#ZapiszDane').serialize();
  5. \$.post('zapiszsklad.php', param, function(json) {
  6. alert(json);
  7. \$('.Info').html('Zapisany!');
  8.  
  9. });
  10. };
  11. });


KOD DZIAŁA i wyświetla wszystko tak jak należy.

Formularz ma wiele danych, nie chce dawać kodu bo tego jest zbyt dużo.
Ale ma dwa typy submitów BUTTON oraz INPUT.
przy czym jest tylko jeden <input type='submit'>, zadaniem z którym nie potrafie sobie poradzić jest, możliwość obsługi formularza po naciśnięciu Input submit aby zadział tak jakby nie było JavaScript na stronie, czyli odświezył ją.

Próbowałem tworzyć kilka różnych sposobów np.:

  1. $('#ZapiszDane input[type="submit"]').click(function() { return false; });


albo

  1. var submitInput = false;
  2. $('#ZapiszDane input[type="submit"]').click(function() {
  3. var submitInput = true;
  4. });
  5.  
  6. if (submitInput == false)
  7. {
  8. $('#ZapiszDane').click(function() {
  9. /* SKRYPT */
  10. });
  11. }


ale nie dziala, button INPUT submit nie chce zainicjować się odświeżenie strony i jestem w kropce.

Czy zna ktoś sposób na rozwiązanie mojego problemu ?

Proszę o pomoc.
Go to the top of the page
+Quote Post
Kemsan
post 15.05.2011, 11:04:15
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 6
Dołączył: 30.06.2008
Skąd: Bytom

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


  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. $( document ).ready( function(){
  4. $('#submit_js').click(function( event ) {
  5. event.preventDefault();
  6. var param = 'js=1&' + $('#ZapiszDane').serialize();
  7. $.post('test.html', param, function(json) {
  8. alert(json);
  9. $('.Info').html('Zapisany!');
  10. });
  11. });
  12. });
  13.  
  14. <form id="ZapiszDane" name="ZapiszDane" action="test.html" type="post">
  15. <input type="text" name="test">
  16. <input type="text" name="test2">
  17. <input type="button" id="submit_js">
  18. <input type="submit">
  19. </form>

Przy takim kodzie, przy naciśnięciu Submit'a formularz normalnie się wysyła (refresh strony), przy kliknięciu buttona - już nie, jest odpowiedź od pliku do którego się dane wysłano. Pytanie - po co dajesz submit formularza w JS, kiedy i tak te dane są wysyłane poprzez AJAX?
Go to the top of the page
+Quote Post
Tomplus
post 15.05.2011, 13:03:46
Post #3





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


jak napisalem wczesniej u mnie guziki formularza to:
  1. <button type="submit" name="var[1]"><button type="submit" name="var[2]"><button type="submit" name="var[n]"> <!-- var[n] gdzie n to wartosc ilosci wierszy wyciagnietych z bazy -->
  2. <inne tagi SELECTy INPUTY radio TEXTAREA>
  3. <input type="submit">


a polaczenie tych dwoch form potrzebuje z przyczyn praktycznych, bo czesc TAKICH SAMYCH danych korzystaja funkcje dot, Ajaxa i funkcje do tradycyjnego zapisu danych,nie licząc tego po nacisnieciu formularza, strona jest przkierowana funkcją header() do innej strony. W Ajax, nie bedzie przekierowania tylko otrzymam źródło strony docelowej, czego nie oczekuje.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:50