Ú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. :D 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? :D 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. :)

    [ Szerkesztve ]

    Sk8erPeter

Új hozzászólás Aktív témák