Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: javascript array

Vasta_alkaja [25.03.2009 09:43:38]

#

minulla on javascript taulukko jonka tulisi mielellään sisältää vain arvoja true, mutta jos tämä taulukko sisältääkin yhdenkään arvon false, niin miten sen voisi tarkistaa ja sen jälkeen estää scriptin suorituksen.

jlaire [25.03.2009 09:58:01]

#

function all(f) { return function (array) {
    for (var i = 0; i < array.length; i++) {
        if (!f(array[i])) {
            return false } }
    return true } }

var all_true = all(function (x) { return x });

//

var array0 = [true,true,true,true,true,true];
var array1 = [true,true,true,false,true,true];

if (all_true(array0)) {
    alert("Tämä koodi ajetaan.") }

if (all_true(array1)) {
    alert("Tätä ei.") }

Vasta_alkaja [25.03.2009 12:21:38]

#

Niin on tuo javasctipti utopiaa, että taidanpa vielä pyytää apua näin.
miten saan allaolevassa koodissa katsottua, että kaikki virhe arvot on false ja lähettäämään sen jälkeen lomakkeen eteenpäin. Muutenkin saa antaa parannusehdotuksia sillä niitä varmaan löytyy.

<script src="../prototype/prototype.js" type="text/javascript" language="JavaScript"></script>
  <script type="text/javascript">
  function tarkistaLaakeKentat(){

    // Haetaan paataulu nimisen taulun kaikki rivit.
  	var rivit = $("paataulu").getElementsByTagName("TR");
	var virhe = new Array();
	virhe = false;

    // Lasketaan rivien maara
    var i, pituus = rivit.length;

    // Käydään rivi kerrallaan läpi silmukassa
    for(i = 1; i < pituus; ++i)
	{
		rivit[i].className = "";
		rivit[i].cells[1].className = "";
		rivit[i].cells[2].className = "";
		rivit[i].cells[3].className = "";

		tarkistaRivi(rivit[i]);
	}
    return true;
  }

  function tarkistaRivi(tr)
  {
    var rivin_numero = tr.rowIndex;

    var ensimmainen = ($("maara_" + rivin_numero).value);
    var arvo = ensimmainen.charAt(0);

    if(ensimmainen == ''){
        virhe = false;
    }

    if(arvo == '-'){
        $("maara_" + rivin_numero).className = "virheellinen";
        virhe = true;
    }
    else
    {
        // var otettu_maara = parseInt($("maara_" + rivin_numero).value, 10);
        var otettu_maara = ($("maara_" + rivin_numero).value).replace(",", ".");

        if(isNaN(otettu_maara)){
            otettu_maara = 0;
        }

        var otti = $("otti_" + rivin_numero).value;
        //var jaljella = parseInt($("jaljella_" + rivin_numero).value, 10);
        var jaljella = $("jaljella_" + rivin_numero).value;
        var erotus = (jaljella - otettu_maara);

        if(erotus < 0)
        {
            $("maara_" + rivin_numero).className = "virheellinen";
            virhe = true;
        }
        else
        {
            if(otettu_maara <= 0)
            {
                // Tähän ei mitään ilmoitusta.. Ok
            }
            else
            {
                $("maara_" + rivin_numero).className = "oikein";

                if(otti == '')
                {
                    $("otti_" + rivin_numero).className = "virheellinen";
                    virhe = true;
                }
                else
                {
                    $("otti_" + rivin_numero).className = "oikein";
                    virhe = false;
                }
            }
        }

        /*
        if(virhe != true){
            document.forms.laaketiedot.toimenpide.value="tallenna";
            document.forms.laaketiedot.submit();
        }
        */

    }
  }
  </script>
  <style type="text/css">

Vasta_alkaja [26.03.2009 13:53:55]

#

ja ei enää huolta. Homma pelaa taas

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta