Wykonanie formularza jQuery

0

Siemka!
Chciałbym przesłać daną z formularza do wykonania. Oto co mam:
jQuery od Submit oczywiście

<script type="text/javascript">
$(document).ready(function(){
 
	$(".toggle_container").hide();
 
	//Przesuwanie okna w górę i dół w zależności od tego czy wtyczka jest włączona czy nie (zwinięta lub nie)
	$("h2.trigger").click(function(){
		$(this).toggleClass("active").next().slideToggle("slow");
		return false; //Zapobiega przeskokowi okna, po kliknięciu w kotwicę
	});
 
  $("#submit").click(function(){
      var str = jQuery("#link").val();
      if (str!="") {
        jQuery.ajax({
          type: "POST",
          url: "dodaj.php",
          data: str,
          cache: false,
          success: function(html){
            alert("Wysłano!");
            $("#link").val("");
          }
        });
    }
    else {
      alert("Pole nie może być puste!");
    }
      return false;
    });
     
});
</script>

Formularz


<form action="/" method="post">
	<input type="text" name="link" />
	<button type="submit">Dodaj</button>
</form> 

i dodatkowo plik dodaj.php

<?php
include('mysql.php');
$str = $_POST["str"];
$query = "INSERT INTO images (filename) VALUES ".implode(',', $str)." ";
mysql_query($query);
?>

w czym może tkwić problem?
0

Oczywiscie w dodaj.php
jest $_POST["link"]

0

Masz:
var str = jQuery("#link").val();
Potem ten string podajesz jako data w ajax. Prawdopodobnie przez formularz więc pójdzie pusta zmienna o nazwie określinej str.
Twoje str najlepiej niech będzie tablicą (klucz=>wartość), a jeżeli stringiem, to niech będzie w formie klucz=wartosc (tak jak masz w URL).
To wszystko zapewne jest manualu.

W dodatku masz coś takiego jak Firebird i inne narzędzia developerskie dla przeglądarek. Tam sprawdzisz sobie jaki request się wysłał (zobaczyłbyś, że nie taki jak oczekujesz) oraz jaka odpowiedź przyszła (byś sobie mógł w PHP zrobić var_dump($_POST) żeby zobaczyć jakie dane doszły do strony php).

0

Klikając na przycisk powinien wyskoczyć komunikat "wysłano"?

0

A, to ja Ci napisałem już o kolejnym błędzie który napotkasz ^^.
Zdarzenie się nie wykonuje, dlatego, że wybierasz element selektorem po ID (znak hash #), natomiast Twój przycisk ma jedynie type="submit". Albo nadaj mu id, albo zmień selektor (polecam Google). W ogóle jak można nie umieć CSS i brać się za javascript (pod web)?
Aha, to pewnie też by było widoczne, że element w ogóle nie ma zdarzenia, nie wiem jak inne narzędzia webdeveloperskie, ale w Operowym Dragonflyu od niedawna jest możliwe widzieć zdarzenia w DOM.
A kod debuguj krokowo. Tj. jeżeli coś nie działa to nie staraj się od razu otrzymać idealnego rezultatu - raczej podążaj za tym gdzie się kod wysypuje, w tym przypadku nawet "alert testowy" na początku funkcji już by Ci dał do zrozumienia, że ona w ogóle się nie wykonuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1