Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] problem z JavaScript - ucinanie stringu na spacji
Forum PHP.pl > Forum > Przedszkole
rrawicz
Mam taki maly problem

na stronie uzywan kontrolki dropdown (jak ponizej)

  1. <form name="form1">
  2. <select name="template" onChange="change_template(template.selectedIndex)"/>
  3. <option value="ala ma kota">ala ma kota</option>';
  4. </form>


a w funkcji "change_template" przepisuje value kontrolki do innego pola (pole2) takim skryptem:

function change_template(index)
{
if (document.form1.template[index].value != ""){
document.form1.pole2.value = document.form1.template.value;
}
}

problem polega na tym, ze do pola2 nie przepisuje sie caly tekst z kontrolki "template" tylko pierwsze slowo do spacji, czyli w tym przykladzie w polu2 wyladuje tylko "ala"

Jak to rozwiazac

dodatkowo podam ze string "ala ma kota" do value kontrolki "template" pobierany jest z bazy (kod PHP)
trueblue
Nie zauważyłem tego problemu.

Ale kilka uwag:
1. Nie jest potrzebne "';" za zamknięciem <option>.
2.
Kod
onChange="change_template(this.value)"

function change_template(value) {
    document.form1.pole2.value = value;
}

3. https://developer.mozilla.org/pl/docs/Web/A...ddEventListener
rrawicz
średnik za option pozostal (przypadkowo jak wklejalem na forum) bo w oryginale kod HTML jest w skrypcie PHP

czyli oryginalnie jest:
  1. echo '<option value='.$zmienna1.'>'.$zmienna1.'</option>';


widze tez ze zapomnialem w kodzie JS wstawic [index] czyli powinno byc:


function change_template(index)
{
if (document.form1.template[index].value != ""){
document.form1.problem.value = document.form1.template[index].value;
}
}

ale mimo dodania [index] nadal nie przepisuje sie cala zawartosc tylko jedno, pierwsze slowo ze stringu sad.gif
nospor
Na przyszlosc od razu podawaj kod jaki masz a nie kod jaki ci sie wydaje ze sie generuje...

Ten kod
echo '<option value='.$zmienna1.'>'.$zmienna1.'</option>';

nie generuje
<option value="ala ma kota">ala ma kota</option>

ten kod generuje
<option value=ala ma kota>ala ma kota</option>

Jak widzisz nie ma cudzyslowiu przy VALUE.

Tak wiec twoj kod php ma wygladac tak
echo '<option value="'.$zmienna1.'">'.$zmienna1.'</option>';

Tak wiec prosba jeszcze raz: na przyszlosc podawaj oryginalny kod a nie okrojony
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.