Avatar billede senj Nybegynder
29. marts 2001 - 14:03 Der er 24 kommentarer og
1 løsning

Frontpage og location.href

Jeg kan ikke viderestille en side til en anden. Jeg har et felt hvor der kan skrives et nummer og alt efter hvilket nummer det er skal siden viderestilles. Det virker bare ikke - siden blinker bare engang!

eks.

var amla = [51,52,53,54,55,56,57,58,59,60];

    for (var i = 0; i < amla.length; i++)
    {
        if (soeginput == amla[i])
        {
                location.href = \"minside.htm\";
                //http://home.novo.dk/webhotel/enzyme/hr/grupper/amla_thni.htm
        }
    }   
Avatar billede nute Nybegynder
29. marts 2001 - 14:08 #1
for det første så har ikke dette noe med frontpage å gjøre...

hvilken verdi ligger det i \'soeginput\' ?

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 14:19 #2
Har lige stillet det samme sp. i kategorien Javascript - men den var også gal!

soeginput = document.soegform.soegfelt.value;

<input type = \"submit\" value = \"Søg\" name = \"soegknap\" onclick = \"soegefunktion()\">

Avatar billede nute Nybegynder
29. marts 2001 - 14:23 #3
hva ligger i ditt \'soegfelt\' hvilken type input er det ? jeg regner med at det er en selectbox ?! send koden til dette feltet...

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 14:26 #4
Jeg har 10 array´s med tal i. 10 for løkker der tjekker om værdien passer med en af værdierne i et af de forskellige arrays.

som test lagde jeg en alert ind og den poppede fint nok op - så det er den location.href der ikke virker.

Det er meget kode - sikker på at du vil have det?
Avatar billede senj Nybegynder
29. marts 2001 - 14:27 #5
<script language=\"JavaScript\">

function soegefunktion()
{
        if(isNaN(document.soegform.soegfelt.value))
        {
        alert(\'Søgningen skal være et tal/nummer\');
        document.soegform.soegfelt.value = \"\";
        document.soegform.soegfelt.focus();
        return false;
        }
       
        if(document.soegform.soegfelt.value == \"\")
        {
        alert(\"Du skal indtaste en værdi\");
        return false;
        }
       
        soeginput = document.soegform.soegfelt.value;
       
        var aagp_jall = [1,2,3,4,5];
        var aagp_jhel = [6,7,8,9,10];
        var hpn_pto = [11,12,13,14,15];
        var hpn_jhel = [16,17,18,19,20];
        var mib = [21,22,23,24,25,26,27,28,29,30];
        var kbar = [31,32,33,34,35,36,37,38,39,40];
        var sujo = [41,42,43,44,45,46,47,48,49,50];
        var amla = [51,52,53,54,55,56,57,58,59,60];   
       
        for (var i = 0; i < aagp_jall.length; i++)
        {
          if (soeginput == aagp_jall[i])
                {
                location.replace(\"IE.htm\");
                }
        }
               
        for (var i = 0; i < aagp_jhel.length; i++)
        {
          if (soeginput == aagp_jhel[i])
                {
                                location.href = \"minside.htm\";
                }
        }
               
        for (var i = 0; i < hpn_pto.length; i++)
        {
                if (soeginput == hpn_pto[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/pto_hpn.htm
                }
        }
       
        for (var i = 0; i < hpn_jhel.length; i++)
        {
                if (soeginput == hpn_jhel[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/jhel_hpn.htm
                }
        }
               
        for (var i = 0; i < mib.length; i++)
        {
                if (soeginput == mib[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/mib_chrj.htm
                }
        }
               
        for (var i = 0; i < kbar.length; i++)
        {
                if (soeginput == kbar[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/kbar_pto.htm
                }
        }
               
        for (var i = 0; i < sujo.length; i++)
        {
                if (soeginput == sujo[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/sujo_chrj.htm
                }
        }
               
        for (var i = 0; i < amla.length; i++)
        {
                if (soeginput == amla[i])
                {
                                location.href = \"minside.htm\";
                                //http://home.novo.dk/webhotel/enzyme/hr/grupper/amla_thni.htm
                }
        }
       
        //alert(\"Din søgning gav desvære intet resultat, prøv igen\");
}
</script>

<form name = \"soegform\">
              <tr>
                <td width=\"33%\" valign=\"middle\" align=\"center\"><b><font face=\"Verdana\" size=\"2\">Afd.nr.:</font></b></td>

                <td width=\"100\" valign=\"middle\" align=\"center\"><input type = \"text\" name=\"soegfelt\" size=\"2\"></td>
                <td width=\"34%\" valign=\"middle\" align=\"right\"><input type = \"submit\" value = \"Søg\" name = \"soegknap\" onclick = \"soegefunktion()\"></td>

              </tr>
            </table>
          </div>
          </form>       
       
         


Avatar billede senj Nybegynder
29. marts 2001 - 14:28 #6
Jeg ved at den kører løkkerne fint igennem!
Avatar billede nute Nybegynder
29. marts 2001 - 14:32 #7
få se din kode....det er sikkert en mikro feil du har laget...

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 14:51 #8
Hvor blev du af?
Avatar billede nute Nybegynder
29. marts 2001 - 14:56 #9
helt ærlig....din kode gir meg desverre ingen logisk mening...

istedefor dine arrays ville jeg heller ha utført en sjekk på intervall...

fx:

soeginput = 15;

if( soeginput >= 1 || soeginput <= 5 ){
  location...
} else if(  soeginput >= 6 || soeginput <= 10 ){

...

}

du utfører en hel dl unødvendige iterasjoner.

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 15:02 #10
Det ved jeg, men sådan som du ser det giver jeg dig ret i din løsning, men tallene kan godt se sådan ud:

array 1: 1, 4, 9, 7, 50
array 2: 2, 11, 16, 46
array 3: 5, 8, 13, 77

osv osv.

Men det er stadig location.href der fejler for mig?
Avatar billede senj Nybegynder
29. marts 2001 - 15:04 #11
Med andre ord kan jeg ikke bruge større end (>) og mindre end (<)
Avatar billede nute Nybegynder
29. marts 2001 - 15:05 #12
ja men grunnen er at du nok ikke har en logisk løsning...jeg har desverre ikke tid til å se på det mer, for jeg forstår ærlig talt ikke logikken i ditt script...sorry...

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 15:09 #13
Nå, så du gir op!! Nej logikken er der skam, men den kan være svær at gennemskue.

Du har 10 forskellige sider!
Eks. 15 vilkårlige numre til hver side!

Der indtastes et nummer på hovedsiden og alt efter hvilket nummer det er, så viser den, den valgte side!
Avatar billede nute Nybegynder
29. marts 2001 - 15:13 #14
dette fungerer iallefall hos meg...

<script language=\"JavaScript\">

function soegefunktion() {
       
          var soeginput = document.soegform.soegfelt.value;
                var newLocation  = \"\"; 
                var ok = false;     
        var aagp_jall = [1,2,3,4,5];
        var aagp_jhel = [6,7,8,9,10];
        var hpn_pto = [11,12,13,14,15];
        var hpn_jhel = [16,17,18,19,20];
        var mib = [21,22,23,24,25,26,27,28,29,30];
        var kbar = [31,32,33,34,35,36,37,38,39,40];
        var sujo = [41,42,43,44,45,46,47,48,49,50];
        var amla = [51,52,53,54,55,56,57,58,59,60];
       
                if(isNaN(soeginput)){
            alert(\'Søgningen skal være et tal/nummer\');
            document.soegform.soegfelt.value = \"\";
            document.soegform.soegfelt.focus();
            return false;
        } else {
           
            if(soeginput == \"\"){
                alert(\"Du skal indtaste en værdi\");
                return false;
            }
           
       
            for (var i = 0; i < aagp_jall.length; i++) {
              if (soeginput == aagp_jall[i]) {
                newLocation = \"IE.htm\";
                            ok = true;
              }
            }
               
            for (var i = 0; i < aagp_jhel.length; i++){
              if (soeginput == aagp_jhel[i]){
                newLocation = \"minside.htm\";
                            ok = true;
              }
            }
               
            for (var i = 0; i < hpn_pto.length; i++) {
                        if (soeginput == hpn_pto[i]) {
                  newLocation = \"minside.htm\";
                            ok = true;
                //http://home.novo.dk/webhotel/enzyme/hr/grupper/pto_hpn.htm
              }
            }
       
            for (var i = 0; i < hpn_jhel.length; i++){
                        if (soeginput == hpn_jhel[i]){
                  newLocation = \"minside.htm\";
                            ok = true;
                //http://home.novo.dk/webhotel/enzyme/hr/grupper/jhel_hpn.htm
              }
            }
               
          for (var i = 0; i < mib.length; i++) {
            if (soeginput == mib[i]) {
              newLocation =  \"minside.htm\";
                            ok = true;
              //http://home.novo.dk/webhotel/enzyme/hr/grupper/mib_chrj.htm
            }
          }
               
          for (var i = 0; i < kbar.length; i++) {
              if (soeginput == kbar[i]){
                newLocation = \"minside.htm\";
                            ok = true;
              //http://home.novo.dk/webhotel/enzyme/hr/grupper/kbar_pto.htm
            }
            }
               
            for (var i = 0; i < sujo.length; i++){
                      //alert(  soeginput == sujo[i] );
              if (soeginput == sujo[i]){
                newLocation = \"minside.htm\";
                            ok = true;
              //http://home.novo.dk/webhotel/enzyme/hr/grupper/sujo_chrj.htm
            }
            }
               
          for (var i = 0; i < amla.length; i++){
              if (soeginput == amla[i]){
                newLocation = \"minside.htm\";
                            ok = true;
                //http://home.novo.dk/webhotel/enzyme/hr/grupper/amla_thni.htm
                        }
            }       
                    if( ok ){
                      location.href = newLocation;
                    } else {
                alert(\"Din søgning gav desvære intet resultat, prøv igen\");
                    }
                        return false;
                   
        }
}
</script>

<form name=\"soegform\" method=\"post\" onSubmit=\"java script:return soegefunktion();\">
              <tr>
                <td width=\"33%\" valign=\"middle\" align=\"center\"><b><font face=\"Verdana\" size=\"2\">Afd.nr.:</font></b></td>

                <td width=\"100\" valign=\"middle\" align=\"center\"><input type = \"text\" name=\"soegfelt\" size=\"2\"></td>
                <td width=\"34%\" valign=\"middle\" align=\"right\"><input type = \"submit\" value = \"Søg\" name=\"soegknap\"></td>

              </tr>
            </table>
          </div>
          </form>       
       
         


/nute
Avatar billede nikolajdu Nybegynder
29. marts 2001 - 15:14 #15
Skal du ikke bare have en return false på dit kald? Når du sumbitter vil den forsøge at gå til den side som formen har sammensat. Med return false sker det ikke og kun dit script bliver eksekveret.  Scriptet sørger så for loaction.href
Avatar billede nikolajdu Nybegynder
29. marts 2001 - 15:19 #16
Eller prøv at ændre den her:

<input type = \"submit\" value = \"Søg\" name=\"soegknap\">

til

<input type = \"button\" value = \"Søg\" onClick=\"java script:return soegefunktion();\">

Og fjern så den tilsvarende linie i <form onSubmit=\"jshash\">

/Nikolaj
Avatar billede senj Nybegynder
29. marts 2001 - 15:20 #17
>> nikolajdu  -  Hvor skal jeg have den siger du?
Avatar billede nute Nybegynder
29. marts 2001 - 15:20 #18
nikolajdu >>

min posting 29/03 2001 15:13:49  fungerer etter hans ønske ;)

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 15:22 #19
Jeg vil lige minde jer om, at når jeg sætter et array ind i hver af forløkkerne og taster et tal der matcher - så fungere det!! Men location virker ikke!!
Avatar billede nute Nybegynder
29. marts 2001 - 15:22 #20
senj >> har du testet det jeg postet til deg ???
Avatar billede senj Nybegynder
29. marts 2001 - 15:32 #21
Jeg er lige ved det!
Avatar billede senj Nybegynder
29. marts 2001 - 15:39 #22
nute>> Jeg tror skisme det virker. Jeg skal lige have testet det på en produktionsplatform.

15 spir er ikke meget for den hjælp jeg har fået - hvad mener du *s*
Avatar billede nute Nybegynder
29. marts 2001 - 15:41 #23
det har tatt litt mer tid enn 15 points burde være...et sted mellom 30-60 er iorden for meg ;)

/nute
Avatar billede senj Nybegynder
29. marts 2001 - 17:56 #24
Nute>> mange tak for hjælpen - jeg accepterede på de 15, men jeg opretter lige et sp. til så du kan få lidt flere point.
Avatar billede nute Nybegynder
29. marts 2001 - 18:01 #25
oki
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester