Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]BŁĄD W IE - problem z Jquery
Forum PHP.pl > Forum > Przedszkole
emmjot
Witam,

Mam następujący problem:

Napisałam formularz w Jquery, i działa dobrze we wszystkich przeglądarkach z wyjątkiem Internet Explorer (korzystam z wersji 6).

Odpowiadający fragment kodu:

var liczba;

var new_input = $("<input>");
new_input.attr("type", "text");
new_input.attr("name", "imie"+(liczba));

var counter = liczba;

var new_input1 = $("<input>");
new_input1.attr("type", "hidden");
new_input1.attr("name", "liczba");
new_input1.attr("value", +counter);


Mój skrypt pozwala na dynamiczne dodawanie wierszy w formularzu. Wiersze są numerowane. Ilość wierszy muszę przekazać metodą POST do zapisu w bazie . Niestety, z tego co zauważyłam, skrypt nie działa w IE dlatego, że atrybut "value" nie jest poprawnie odczytywany. Jeśli go nie używam, skrypt działa prawidłowo.

Czy mógłby mi ktoś powiedzieć, czy istnieje jakiś inny sposób na przekazanie zmiennej z JavaScript do pliku php, bez używania atrybutu value? W jaki sposób mogę to zrobić?

Z góry dziękuję za wszelkie sugestie,

Pozdrawiam,
nospor
nie: +counter
a: ++counter

i popraw kod o bbcode
wookieb
Jak ma byc poprawnie czytany jak dajesz takie cos?
+counter Do czego dodajesZ?
emmjot
Ale na końcu skryptu mam inkrementację zrobioną (tutaj wrzuciłam tylko fragment kodu). W innych przeglądarkach dodaje się poprawnie. W IE też działa i się sumuje, jeśli usunę ze skryptu ten jeden input z atrybutem value.

Chodzi mi to, że ja tą liczbę jakoś muszę przekazać do pliku PHP i nie znam innego sposobu niż VALUE, a VALUE tu własnie nie działa.

Może wrzucę cały skrypt, i zaznaczę, z powodu której linijki skrypt nie działa TYLKO pod Internet Explorerem (inne przeglądarki interpretują całość poprawnie):

<script language="javascript" type="text/javascript">

var liczba = 1;

$(document).ready(

function()
{
$("#dodaj").click(function()
{

var new_label = $("<div>");

var new_input = $("<input>");
new_input.attr("type", "text");
new_input.attr("name", "expense_name"+(liczba));

var new_input2 = $("<input>");
new_input2.attr("type", "text");
new_input2.attr("name", "calendar"+(liczba));

var new_input3 = $("<input>");
new_input3.attr("type", "text");
new_input3.attr("name", "amount"+(liczba));

var new_input5 = $("<input>");
new_input5.attr("type", "text");
new_input5.attr("readonly", "readonly");
new_input5.attr("name", "sumka1"+(liczba));

var counter = liczba;

var new_input10 = $("<input>");
new_input10.attr("type", "hidden");
new_input10.attr("name", "liczba");
new_input10.attr("value", +counter);
//przez tą linijkę nie działa pod IE

var new_link = $("<a>");
new_link.attr("href", "#");
new_link.html("delete");
new_link.click(function()
{
$(this).parent("div").remove();
return false;
});


var new_br = $("<br>");

new_label.append(new_input);
new_label.append(new_input2);
new_label.append(new_input3);
new_label.append(new_input5);
new_label.append(new_input10);
new_label.append(new_link);
new_label.append(new_br);

$("form[@name=formularz]").append(new_label);
liczba++;

return false;

});

});
</script>
nospor
1) podalem ci czemu nie dziala, a ty nadal powielasz blad. wookieb zresztą też doglębnie cie nakierował
2) prosilem o bbcode. 2 x prosic nie bede

w razie pytan zapraszam na PW
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.