Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Wysłanie formularza w sposób tradycyjny
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Tomplus
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.
Kemsan
  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?
Tomplus
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.
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.