Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Pobranie wartości z pola select
Blame
post 5.10.2009, 19:04:03
Post #1





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Mam taką oto funkcję:
CODE
function doCOLOR(obj)
{
textarea = document.getElementById(obj);
var url = document.getElementById("kolor").value;
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {

if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();

if(sel.text==""){
sel.text = '[/color]';
} else {
sel.text = '' + sel.text + '';
}

//alert(sel.text);

}
else
{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;

var sel = textarea.value.substring(start, end);

if(sel==""){
var rep = '';
} else
{
var rep = '[color=' + url + ']' + sel + '
';
}
//alert(sel);

textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);


textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
}


a to mam w pliku html:
  1. <select name="kolory">
  2. <option id="kolor" value="black">Czarny</option>
  3. <option id="kolor" value="white">Biały</option>
  4. <option id="kolor" value="red">Czerwony</option>
  5. <option id="kolor" value="green">Zielony</option>
  6. <option id="kolor" value="yellow">Żółty</option>
  7. <option id="kolor" value="blue">Niebieski</option>
  8. </select>

Wiem, że kod jest nieprawidłowy, dlatego proszę o pomoc. Chciałbym, żeby po wywołaniu funkcji doCOLOR wstawiany był znacznik "[color=]" z aktualnie wybranym kolorem w polu select a nie z pierwszą pozycją(w tym wypadku czarny). Jak to zrobić? Pomożecie?

Ten post edytował Blame 5.10.2009, 19:04:40


--------------------
Go to the top of the page
+Quote Post
thek
post 5.10.2009, 19:58:40
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To Select ma mieć przypisane id, a nie pola Option. Option są "dziećmi" Select i jeśli zostanie pokazany poprzez id odpowiedni Select to dzięki temu będziesz mógł wyciągnąć jaki Option wybrano. Pamiętaj, że id musi być unikatowe w całym dokumencie. Używanie choćby dwukrotne tego samego id jest błędem i każdy walidator Ci to wytknie jako niepoprawność.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Blame
post 5.10.2009, 20:17:39
Post #3





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Dzięki! Raczkuje w temacie więc twoja pomoc bardzo mi się przydała. Mam jeszcze jedno pytanie. Jak zrobić, żeby w/w funkcja miała miejsce po kliknięciu na dane pole option?


--------------------
Go to the top of the page
+Quote Post
Fafu
post 5.10.2009, 20:22:39
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

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


w select daj event onchange


--------------------
http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły.
Go to the top of the page
+Quote Post
MateuszS
post 5.10.2009, 20:26:29
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


chodzi Ci o cos takiego?

  1. <script type="text/javascript">
  2. function kolor() {
  3. var textarea=document.getElementById('area').innerHTML;
  4. var kolor=document.getElementById('kolor').value;
  5. var new_text='[ color='+kolor+']'+textarea+'[ /color]'; // usun z tad spacje u siebie bo na forum sie zle wyswietla
  6. document.getElementById('area').innerHTML=new_text;
  7. }
  8.  
  9. <select id="kolor" name="kolory">
  10. <option onClick="kolor()" value="black">Czarny</option>
  11. <option onClick="kolor()" value="white">Biały</option>
  12. <option onClick="kolor()" value="red">Czerwony</option>
  13. <option onClick="kolor()" value="green">Zielony</option>
  14. <option onClick="kolor()" value="yellow">Żółty</option>
  15. <option onClick="kolor()" value="blue">Niebieski</option>
  16. </select><br />
  17. <textarea id="area">Tu jest jakiś tekst który mozesz wziasc w [color=] sadad</textarea><br />
  18.  


Ten post edytował MateuszScirka 5.10.2009, 20:27:53


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
thek
post 5.10.2009, 20:32:03
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Pamiętaj, że zdarzenia masz dla "rodzica" czyli dla Select smile.gif Czyli jak mój poprzednik zaznaczył zdarzenie onchange dla Select )
  1. <select id="kolor" name="kolory" onchange="kolor()">


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 12:25