Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] problem z JavaScript - ucinanie stringu na spacji, ucinanie stringu na spacji
rrawicz
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.12.2016

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
rrawicz
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.12.2016

Ostrzeżenie: (0%)
-----


ś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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:03