Nie można przesłać watości pola textowego do funkcji

0

Mam taki problem chciałbym przysłać do funkcji JS, a potem przez ajax do innego pliku zawartość pola textowego, przysyła wszystko oprócz tego pola textowego mam to zbudowane na takiej zasadzie.

Więc jeżeli klikniemy na przycisk dodaj opis to umożliwi nam to dodanie nowego opisu czyli wyświetlenia formularza i teraz do funkcji jest poprawnie przysyłana zmienna id_wpisu, ale już pole tekstowe o id dodaj2 nie chę się przesłać jak to zrobić tutaj daje kod.
Za przysyłanie zmiennej do pliku jest odpowiedzialna funkcja dodaj_opis2()

<a class=normalna2 onclick=zaladuj('pokaz_opis.php?id_wpisu=$wybierz_leki2[5]','$i') id=m >pokaż opis</a> <a class=normalna2 onclick=dodaj_opis('$i')>Dodaj opis</a><br>
      <div id=dodaj$i>
      <form method=get>
      <textarea id=dodaj2></textarea><br>
      <a class=normalna2 onclick=dodaj_opis2('pokaz_opis.php?id_wpisu=$wybierz_leki2[5]')>Dodaj Wpis</a>
      </form>
      
      </div>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">

//$(function() {
//$('#m').click(function() {
var i = 1;
var pasek;
while (i < 20 ) {
pasek = "#dodaj" + i;
$(pasek).hide();
i++;
}
function dodaj_opis2(zmienna) {
//var i = zmienna3;
var text = document.getElementById('dodaj2').value;
var adres = zmienna + "&dodaj2=" + text;
var opis = '#opis' + 1;
alert(adres);
$(opis).toggle();
$(opis).load(adres);


}
function dodaj_opis(i) {
var zmienna = "#dodaj" + i;
$(zmienna).toggle();

}
function zaladuj(zmienna,zmienna3) {
//alert(zmienna2);
//var adres = zmienna + zmienna2;
var i = zmienna3;
var opis = '#opis' + i;
$(opis).toggle();
$(opis).load(zmienna);

//alert(zmienna);

}
//});
//});
</script>
1

Pobierz zawartość pola tekstowego w taki sposób:

var text = $('#dodaj2').val();
0

Dziękuje za odpowiedź to mi podpowiedziałeś dobrze teraz mam drugi problem, a mianowicie, że jak w zmiennej dodaj2 wystąpi spacja to nie przyśle motodą ajax tej zmiennej do skryptu i w konsekwencji nie wykona się skrypt ajax daje bardziej rozszerzony kod
Jakby jakieś były pytanie do proszę je zadawac i jak coś jest słabo objaśnione.
plik PHP

 $i = 1;
    while ($wybierz_leki2 = mysqli_fetch_array($wybierz_leki) ) {
      $nazwa_substancji = $baza->query("select nazwa,cena,rodzaj_porcji,za_ile,color,rownowaznik,ile_procent from substancje where id = '$wybierz_leki2[0]' ");
      $nazwa_substancji = mysqli_fetch_array($nazwa_substancji);
      if ($nazwa_substancji[4] != "") {
	$kolor = " color=$nazwa_substancji[4]";
	$kolor2 = " color=$nazwa_substancji[4] size=2";
      }
      $cena = $substancja->oblicz_cene_substancji($nazwa_substancji[3],$wybierz_leki2[1],$nazwa_substancji[1]);
      $cena = oblicz_cene($cena);
      $rodzaj = sprawdz_porcje($nazwa_substancji[2]);
      $obiekt_data->oblicz_date($wybierz_leki2[4],$wybierz_leki2[2]);
      print ("
      <tr>
      <td><div align=center><font $kolor>
      $i <br>
      Wziąłeś $nazwa_substancji[0] w dawce $wybierz_leki2[1] $rodzaj <br>
      Wziąłeś to w " . $obiekt_data->data . "<br>
      Wydałeś na to $cena <br>
      <a class=normalna2 onclick=zaladuj('pokaz_opis.php?id_wpisu=$wybierz_leki2[5]','$i') id=m >pokaż opis</a> <a class=normalna2 onclick=dodaj_opis('$i')>Dodaj opis</a><br>
      <div id=dodaj1$i>
      <form method=get>
      <textarea id=dodaj2$i></textarea><br>
      <a class=normalna2 onclick=dodaj_opis2('dodaj_opis.php?id_wpisu=$wybierz_leki2[5]','$i')>Dodaj Wpis</a>
      </form>
      
      </div>
      ");
      //$substancja->dodaj_wpis_substancji($wybierz_leki2[5],"ala ma kota");
      if ($nazwa_substancji[6] != "") {
	$procent = oblicz_procent($wybierz_leki2[1],$nazwa_substancji[6]);
	print "<font $kolor2> Tyle alkoholu wypiłeś $procent</font> <br>";
      }
      if ($nazwa_substancji[5] != "") {
	$rownowaznik = sprawdz_rownowaznik($wybierz_leki2[0],$wybierz_leki2[1]);
	print "<font $kolor2>Równoważnik dzienny diazepamu $rownowaznik </font><br>";
      }
      //if ($rownowaznik != false) {
	print "<div id=opis$i></div>";
      //}
      print ("</font></div></td></tr>
      ");
      $kolor = " class=normalna2";
      $i++;
    }

kod js

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">

//$(function() {
//$('#m').click(function() {
var i = 1;
var pasek;
while (i < 20 ) {
pasek = "#dodaj1" + i;
$(pasek).hide();
i++;
}
//$("#dodaj2").hide();
function dodaj_opis2(zmienna,i) {
//var i = zmienna3;
//var text = document.getElementById('dodaj2').value;
var zmienna2 = "#dodaj2" + i;
var text = $(zmienna2).val();
//text = text + i;
var adres = zmienna + "&dodaj2=" + text;
var opis = '#opis' + i;
//alert(adres);
//$(opis).toggle();
$(opis).load(adres);


}
function dodaj_opis(i) {
var zmienna = "#dodaj1" + i;
$(zmienna).toggle();

}
function zaladuj(zmienna,zmienna3) {
//alert(zmienna2);
//var adres = zmienna + zmienna2;
var i = zmienna3;
var opis = '#opis' + i;
$(opis).toggle();
$(opis).load(zmienna);

//alert(zmienna);

}
//});
//});
</script>

Plik do którego przysyłana jest zmienna dodaj2

<?php

print $_GET["dodaj2"];

print "dobrze";

?> 
1
  1. Pomogłaś, nie pomogłeś ;)
  2. Nie możesz wysyłać w linku zwykłego tekstu, poczytaj o url escape i encode, np tu: http://www.javascripter.net/faq/escape.htm

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