Resultados 1 a 2 de 2

Tópico: Codigo nao Funciona em js :S

  1. #1

    Question Codigo nao Funciona em js :S

    /
    * This script and many more are available free online at
    The JavaScript Source :: http://javascript.internet.com
    Created by: Michael J. Damato :: http://developing.damato.net/ */

    // State lists
    var states = new Array();

    states['Porto'] = new Array('Amarante','Baião','Felgueiras','Gondomar',' Lousada','Maia','Marco Canaveses','Matosinhos','Paços de Ferreira','Paredes','Penafiel','Porto','Póvoa de Varzim','Santo Tirso','Valongo','Vila do Conde','Vila Nova de Gaia','Trofa');
    states['Aveiro'] = new Array('Águeda','Albergaria-a-Velha','Anadia','Arouca','Aveiro','Castelo de Paiva','Espinho','Estarreja','Santa Maria da Feira','Ílhavo','Mealhada','Murtosa','Oliveira de Azeméis','Oliveira do Bairro','Ovar','São João da Madeira','Sever de Vouga','Vagos','Vale de Cambra');
    states['Coimbra'] = new Array('Arganil','Cantanhede','Coimbra','Condeixa-a-Nova','Figueira da Foz','Góis','Lousã','Mira','Miranda do Corvo','Montemor-o-Velho','Oliveira do Hospital','Pampilhosa da Serra','Penacova','Penela','Soure','Tábua','Vila Nova de Poiares');


    // City lists
    var cities = new Array();

    cities['Porto'] = new Array();
    cities['Porto']['Gondomar'] = new Array('Baguin do Monte','Covelo','Fânzeres','Foz de Sousa','Gondomar(São Cosme)','Jovim','Lomba','Medas','Melres','Rio Tinto','São Pedro da Cova','Valbom');
    cities['Porto']['Maia'] = new Array('Águas Santas','Avioso(Sao Pedro)','Avioso(Santa Maria)','Barca','Folgosa','Gemude','Gondim','Gueif ães','Maia','Milheirós','Moreira','Nogueira','Pedr ouços','São Pedro Fins','Silva Escura','Vermoim','Vila Nova da Telha');
    cities['Porto']['Matosinhos'] = new Array('Custóias','Guifões','Lavra','Leça da Palmeira','Leça do Bailio','Matosinhos','Perafita','São Mamede de Infesta','Santa Cruz do Bispo','Senhora da Hora');

    cities['Mexico'] = new Array();
    cities['Mexico']['Baja California'] = new Array('Tijauna','Mexicali');
    cities['Mexico']['Chihuahua'] = new Array('Ciudad Juárez','Chihuahua');
    cities['Mexico']['Jalisco'] = new Array('Guadalajara','Chapala');

    cities['United States'] = new Array();
    cities['United States']['California'] = new Array('Los Angeles','San Francisco');
    cities['United States']['Florida'] = new Array('Miami','Orlando');
    cities['United States']['New York'] = new Array('Buffalo','new York');


    function setStates() {
    cntrySel = document.getElementById('country');
    stateList = states[cntrySel.value];
    changeSelect('state', stateList, stateList);
    setCities();
    }

    function setCities() {
    cntrySel = document.getElementById('country');
    stateSel = document.getElementById('state');
    cityList = cities[cntrySel.value][stateSel.value];
    changeSelect('city', cityList, cityList);
    }

    function changeSelect(fieldID, newOptions, newValues) {
    selectField = document.getElementById(fieldID);
    selectField.options.length = 0;
    for (i=0; i<newOptions.length; i++) {
    selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
    }
    }

    // Multiple onload function created by: Simon Willison
    // http://simonwillison.net/2004/May/26/addLoadEvent/
    function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
    window.onload = func;
    } else {
    window.onload = function() {
    if (oldonload) {
    oldonload();
    }
    func();
    }
    }
    }

    addLoadEvent(function() {
    setStates();
    });
    <form name="test" method="POST" action="processingpage.php">
    <table>
    <tr>
    <td style="text-align: left;">Country:</td>
    <td style="text-align: left;">
    <select name="country" id="country" onchange="setStates();">
    <option value="Canada">Porto</option>
    <option value="Mexico">Mexico</option>
    <option value="United States">United States</option>
    </select>
    </td>
    </tr><tr>
    <td style="text-align: left;">State:</td>
    <td style="text-align: left;">
    <select name="state" id="state" onchange="setCities();">
    <option value="">Please select a Country</option>
    </select>
    </td>
    </tr><tr>
    <td style="text-align: left;">City:</td>
    <td style="text-align: left;">
    <select name="city" id="city">
    <option value="">Please select a Country</option>
    </select>
    </td>
    </tr>
    </table>
    </form>
    Isto é o form para o codigo


    Alguem me pode dizer o que esta mal ? :S
    Última edição de Pikanso; 01-07-2010 às 16:25

  2. #2
    Power Member Avatar de Joze_N
    Data do Registo
    13-10-2005
    Local
    RAVCO
    na tua drop down com id = "country" tens 3 paises e o único que te existe na Array states está com o campo values errado:
    ie: <option value="Canada">Porto</option> devias ter <option value="Porto">Porto</option>

    com isso já te deve funcionar o porto, para as cidades que tens do porto na array

Tópicos Similares

  1. Respostas: 3
    Última Mensagem: 07-01-2012, 13:47
  2. [Periférico] Impressora Wireless ligada a um ZON HUB com W7 x64 não funciona e com XP funciona
    By Trout in forum Aquisições/Upgrades PC, Componentes e Periféricos
    Respostas: 1
    Última Mensagem: 02-12-2011, 17:29
  3. Respostas: 20
    Última Mensagem: 25-02-2011, 08:03
  4. Código em javascript não funciona
    By Peter V5 in forum Web Development
    Respostas: 3
    Última Mensagem: 12-02-2009, 19:59
  5. como funciona esse codigo?
    By wrproject in forum Programação
    Respostas: 2
    Última Mensagem: 20-09-2007, 08:03

Registe-se no fórum e active o seu registo para deixar de ver este anúncio.