Hirdetés
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy Watch7 - kötelező kör
- VoLTE/VoWiFi
- Yettel topik
- Samsung Galaxy A54 - türelemjáték
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Xiaomi 14 - párátlanul jó lehetne
- Android szakmai topik
- Szép órával jubilál a Huawei Watch
- Az 5 legnagyobb bénázás a mobilpiacon idén
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Azazello-
#1730
üzenetére
Hali!
A readonly attribútum XHTML-ben helyesen így néz ki (a readonly="" helyett):
readonly="readonly"
w3schools: HTML <input> readonly Attribute</input>
Ez a lezárás helytelen, magában az input elemben kell odatenni a lezárást, korábban jól írtad:
<input ... />for (i=0;i<names.lenght;i++)
lenght -> length
nem mindegy...getNames() a függvény neve, Te meg getName() névvel hívod meg...
A radio elemeknél legyen a name attribútum azonos, hogy ne lehessen mindkettőt kiválasztani, hanem közülük kelljen az egyiket választani.
Ezenkívül nem kell külön div-be rakni, gondolom nem célod elválasztani őket. Nem is ajánlott, mert abból csak problémáid lehetnek.
Az onselect esemény itt helytelen, ugyanis az a következő elemekre használható:
<input type="text">, <textarea>
Legyen helyette inkább onclick.
példa (getName, getNumber fv.nevekkel):
<div id="middle_container">
<input type="radio" onclick="getName();" id="name_number" name="name_or_number" />Names<br />
<input type="radio" onclick="getNumber();" id="number_name" name="name_or_number" />Numbers
</div>Ezenkívül számomra nem túl logikus, hogy pont a Names mezőnél getNumber(); függvényt hívsz, amikor ott gondolom épp a névre vagy kíváncsi, a Numbers résznél meg getNames() függvényt szeretnél hívni - ami mellesleg rosszul van megírva.

function getNumber(){
var x= document.getElementById("name_number");
document.write(numbers[i] + "<br />");
}Nem értem, mit akartál ezzel a függvénnyel, konkrétan semmi értelme.
Ugyanis numbers-nek mi az i-edik eleme? Te asszociatív tömböt használsz, pl. nincs olyan, hogy numbers[4], mivel csak sztringekkel éred el az elemeidet, pl. numbers["Shiela"]var numbers = nev Array();
nev?
helyette inkább new...text_imput
-> text_input
Ezeket az elírásokat talán átnézhetted volna, mielőtt írsz a topicba...Azt sem értem, egyáltalán a szövegmezőbe beírtakat hogyan akarod elérni, ha semmi ilyen nincs a kódodban...
Na, a lényeg, hogy készítettem egy jól működő változatot (kipróbáltam):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Numbers</title>
<!-- JS -->
<script type="text/javascript">
<!--
var phonebook = new Array();
phonebook["Shiela"] = "3453 456546 787";
phonebook["Gerard"] = "2311 345455 335";
phonebook["David"] = "8786 578575 555";
function getData(what){
var text_input=document.getElementById("text_input").value;
var text_output=document.getElementById("text_output");
var found=0;
for(var name in phonebook){
var number=phonebook[name];
if(what==null || what=="number"){ //ha nem adtunk meg paramétert (vagy number-t adtunk meg), akkor alapértelmezettként a névhez tartozó számot fogja kiírni
if(name==text_input){
text_output.value=number; //szám kiírása
found++; //találtunk
break; //felesleges továbbmenni
}
}
else{ //egyébként (ha bármilyen egyéb paramétert megadtunk) a számhoz tartozó nevet fogja kiírni
if(number==text_input){
text_output.value=name; //név kiírása
found++; //találtunk
break; //felesleges továbbmenni
}
}
}
if(found==0){ //ha nincs találat
text_output.value=(what==null || what=="number")?"Nincs ilyen név a telefonkönyvben.":"Nincs ilyen szám a telefonkönyvben.";
}
}
// -->
</script>
</head>
<body>
Feladat: "a nev beirasa utan a radiobutton segitsegevel ha a numbers-re kattintunk, ki kellene, hogy adja a nevekhez tartozo telefonszamokat."
<div id="top_container">
<input type="text" name="text_input" id="text_input" />
</div>
<div id="middle_container">
<input type="radio" onclick="getData('name');" id="name_number" name="name_or_number" />Names<br />
<input type="radio" onclick="getData('number');" id="number_name" name="name_or_number" />Numbers
</div>
<div id="bottom_container">
<input type="text" readonly="readonly" name="text_output" id="text_output" />
</div>
</body>
</html>A CSS-részt kiszedtem, az most úgysem lényeges.
Remélem megfelel.

Új hozzászólás Aktív témák
- Linux kezdőknek
- Battlefield 6
- TCL LCD és LED TV-k
- Honor Magic6 Pro - kör közepén számok
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Autós topik
- Samsung Galaxy Watch7 - kötelező kör
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- S.T.A.L.K.E.R. - Anomaly
- További aktív témák...
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ATEN Cat 5 KVM over IP Switch Altusen KH1508AI - Új ára 284.000Ft
- AirPort Extreme 802.11n (3rd Generation) Model A1301 -
- BESZÁMÍTÁS! Gigabyte B360 i7 8700 16GB DDR4 512GB SSD RX 6600XT 8GB Rampage SHIVA Cooler Master 650W
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Apple iPhone 14 Pro 256GB,Újszerű,Dobozával,12 hónap garanciával
- HP ProDesk 600 G5 i3-9100 16GB 512GB 1 év garancia
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

Ugyanis numbers-nek mi az i-edik eleme? Te asszociatív tömböt használsz, pl. nincs olyan, hogy numbers[4], mivel csak sztringekkel éred el az elemeidet, pl. numbers["Shiela"]

