Avatar billede claushelth Nybegynder
09. februar 2003 - 12:45 Der er 21 kommentarer og
1 løsning

variabel størrelse

Hvilken funktion tjekker på størrelsen af en variabel?

Hvor kan man finde en funktionsoversigt til JS?

Grund til jeg spørger. Her en funktion der tjekker om der er indtastet noget i et felt i en form, vil også gerne have den til at tjekke den ikke er for lang, da min %¤%&%-MySql ikke gør noget ved det.

<script language="javascript">
function chkForm()
{
        var f = document.form1;
        if (  f.forfatter.value == '')
    {
            alert('Husk forfatteren!');
            f.forfatter.focus();
            return false;
        }

:-)

Claus
Avatar billede medions Nybegynder
09. februar 2003 - 12:47 #1
alert(f.forfatter.length);

Vil give dig længden af din streng!

//>Rune
Avatar billede medions Nybegynder
09. februar 2003 - 12:48 #2
Fx.

        var f = document.form1;
        if (  f.forfatter.value == '')
    {
            alert('Husk forfatteren!');
            f.forfatter.focus();
            return false;
        }
    if (f.forfatter.length > 10) {
        alert("Længden må ikke være længere end 10 char.");
        return false;
    }

//>Rune
Avatar billede claushelth Nybegynder
09. februar 2003 - 12:48 #3
dvs:

<script language="javascript">
function chkForm()
{
        var f = document.form1;
        if (  f.forfatter.value == '' || f.forfatter.length > 5)//5 tegn
    {
            alert('Husk forfatteren!');
            f.forfatter.focus();
            return false;
        }
Avatar billede claushelth Nybegynder
09. februar 2003 - 12:50 #4
jep...prøver lige
Avatar billede claushelth Nybegynder
09. februar 2003 - 12:55 #5
Nej den fanger den ikke:

<script language="javascript">
function chkForm()
{
        var f = document.form1;
        if (  f.forfatter.value == '' || f.forfatter.length > 4)
    {
            alert('Forfatteren skal være mellem 1 og 4 tegn!');
            f.forfatter.focus();
            return false;
        }
        if ( f.overskrift.value == '')
    {
            alert('Husk overskriften!');
            f.overskrift.focus();
            return false;
        }
        if ( f.tekst.value == '')
    {
            alert('Husk teksten!');
            f.tekst.focus();
            return false;
        }   
        return true;
}
</script>
Avatar billede medions Nybegynder
09. februar 2003 - 12:57 #6
<script language="javascript">
function chkForm()
{
        var f = document.form1;
        if (  f.forfatter.value == '' || f.forfatter.length >= 4)
    {
            alert('Forfatteren skal være mellem 1 og 4 tegn!');
            f.forfatter.focus();
            return false;
        }
        if ( f.overskrift.value == '')
    {
            alert('Husk overskriften!');
            f.overskrift.focus();
            return false;
        }
        if ( f.tekst.value == '')
    {
            alert('Husk teksten!');
            f.tekst.focus();
            return false;
        }   
        return true;
}
</script>

Sådan?

//>Rune
Avatar billede claushelth Nybegynder
09. februar 2003 - 12:59 #7
nej den vil slet ikke fange den overhovedet...kun hvis der ikke er indtastet noget i feltet...som før.

Skal lige ned og handle...kommer snart igen

:-)
Avatar billede medions Nybegynder
09. februar 2003 - 13:02 #8
Prøv lige at gør sådan her:

<script language="javascript">
function chkForm()
{
        var f = document.form1;
        alert(f.forfatter.length);
        if (  f.forfatter.value == '' || f.forfatter.length >= 4)
    {
            alert('Forfatteren skal være mellem 1 og 4 tegn!');
            f.forfatter.focus();
            return false;
        }
        if ( f.overskrift.value == '')
    {
            alert('Husk overskriften!');
            f.overskrift.focus();
            return false;
        }
        if ( f.tekst.value == '')
    {
            alert('Husk teksten!');
            f.tekst.focus();
            return false;
        }   
        return true;
}
</script>

Hvad skriver den så?

//>Rune
Avatar billede claushelth Nybegynder
09. februar 2003 - 13:31 #9
så får jeg en undefind i en box...man kan kun trykke "ok", og så fortsætter den med at indsætte i DB, selvom den er for lang.
Avatar billede claushelth Nybegynder
09. februar 2003 - 13:34 #10
det vil vel sige at alert virker, men ikke selve [ ||f.forfatter.length >= 4] virker ikke
Avatar billede claushelth Nybegynder
09. februar 2003 - 14:11 #11
jeg kender ikke til JS, så jeg ved ikke om syntaksen er skrevet forkert?

Og hvor kan man finde disse js funktioner?

Jeg var ellers lige blevet overtalt til at bruge JS i stedet for php en gang imellem, for hastighedens skyld...hmmm
Avatar billede claushelth Nybegynder
09. februar 2003 - 15:40 #12
test at lange ord på eksperten

Håber i jeg træder nogle over tæerne...
Avatar billede claushelth Nybegynder
09. februar 2003 - 15:41 #13
Herstårenmegetlangtekssomikkemåbrydesopimindrestykkerfordijegskalsehvadekspertengøridennesituationsåjegselvkanf
Avatar billede backside Nybegynder
09. februar 2003 - 17:10 #14
Avatar billede olebole Juniormester
09. februar 2003 - 17:47 #15
<ole>

Mon ikke du kalder funktionen forkert? Så¨dan skal den kaldes:

  <form onsubmit="return chkForm()">

En anden ting er så, at du ikke må belave dig på et check på klienten. Det check er kun til for brugerens skyld ... du bør checke på serveren under alle omstændigheder.

/mvh
</bole>
Avatar billede olebole Juniormester
09. februar 2003 - 17:52 #16
Prøv evt. denne måde at adressere på ... så laver du da ingen fejl der  :)

<script language="javascript">
function chkForm(f) {
    if (  f.forfatter.value == '' || f.forfatter.length >= 4) {
        alert('Forfatteren skal være mellem 1 og 4 tegn!');
        f.forfatter.focus();
        return false;
    }
    if ( f.overskrift.value == '') {
        alert('Husk overskriften!');
        f.overskrift.focus();
        return false;
    }
    if ( f.tekst.value == '') {
        alert('Husk teksten!');
        f.tekst.focus();
        return false;
    }   
    return true;
}
</script>

---------------------------------------

Og så formen:

  <form onsubmit="return chkForm(this)">

/mvh
Avatar billede claushelth Nybegynder
09. februar 2003 - 18:21 #17
nej...den ser også sådan ud...altså jeg har løst det med php i stedet, men hvis nogle kan få det til at virke med JS er min kode her:

<?php
if(isset($_POST['send_artikel']))
{

/*
if (!$hj_fil_db)
{
$hj_fil_db = require($_SERVER["DOCUMENT_ROOT"] . "/hj_funktioner/db_funktioner.php");
}
*/
require_once($_SERVER["DOCUMENT_ROOT"] . "/hj_funktioner/db_funktioner.php");

    $conn = aabn_forbindelse_og_vaelgdb($conn);

    if(mysql_query("LOCK tables artikeldbtest1 WRITE"))
    {
        $forfatter     = $_POST["forfatter"];
        $overskrift     = $_POST["overskrift"];
        $tekst         = $_POST["tekst"];
       

        if($forfatter == "" OR $overskrift == "" OR $tekst == "" )
        {
            echo "--- Alle felter skal udfyldes ---<br><br>";
        }

        else
        {
        //$tekst = str_replace("\n","<br>",$tekst);
        $tekst = nl2br($tekst);

        //Spørg efter artikelnummer i db på den sidste - her kan der nemt forekomme fejl. Hvis den sidtse er slettet i tabellen, må artikelnummeret ikke forkomme to gange og derfor vil linket til det nye artikelnummer ikke virker

        $query1 = "select Artikelnummer from artikeldbtest1 order by Artikelnummer desc limit 1";

        $res = sql_spoerg_og_faa_svar($query1);

        extract($res[0]);
       
        $Artikelnummer++;

        $Link = "<a href=http://www.chelth.dk/wwwsider/nyheder/htm_en_nyhed?Artikelnummer=$Artikelnummer>Læs mere</a>";


        $query = "insert into artikeldbtest1(Forfatter,Overskrift,Tekst,Link)
                values ('$forfatter','$overskrift','$tekst','$Link')";

        sql_spoerg($query);

        mysql_query("UNLOCK tables artikeldbtest1");
        luk_forbindelse($conn);

        $_POST["forfatter"]    = "";
        $_POST["overskrift"]    = "";
        $_POST["tekst"]        = "";


        echo "--- Din nye artikel er blevet indsat korrekt ---<br><br>";
       
        }
    }
}
else
{
    //Klar til indskrivning af ny form
}
?>

<script language="javascript">
function chkForm(f)
{


        if (  f.forfatter.value == '' || f.forfatter.length >= 4)
    {
            alert('Forfatteren skal være mellem 1 og 4 tegn!');
            f.forfatter.focus();
            return false;
        }
        if ( f.overskrift.value == '')
    {
            alert('Husk overskriften!');
            f.overskrift.focus();
            return false;
        }
        if ( f.tekst.value == '')
    {
            alert('Husk teksten!');
            f.tekst.focus();
            return false;
        }   
        return true;
}
</script>

<form name="form1" onSubmit="return chkForm(this);" method=post action="<?php echo $PHP_SELF; ?>">
  <input type="hidden" name="send_artikel" value="send_artikel">
  Forfatter: <br> <input type="text" size="30" name="forfatter" value=""><br><br>
  Overskrift:<br> <input type="text" size="60" name="overskrift" value=""><br><br>
  Indhold:  <br> <textarea type="text" name="tekst" rows="10" cols="50"></textarea><br>
  <input type="submit" value="Send" >
  <input type="reset" value="Ryd felter">
</form>


</p>
VH
Claus
Avatar billede claushelth Nybegynder
09. februar 2003 - 18:22 #18
løsningen vil også blive pænere i længden med JS, da min [ryd felter]- knap vil volde problemer med php!
Avatar billede olebole Juniormester
09. februar 2003 - 18:32 #19
Din JS-kode fungerer fint - og hvorfor mener du en reset-knap vil skabe problemer med din PHP?
Avatar billede claushelth Nybegynder
09. februar 2003 - 18:40 #20
virker den for dig hvis du indtaster en forfatter der er længere end 4 tegn. Hvis den er større end 4 tegn skal der komme en advarelsesbox der fortæller et den er for lang, ligesom hvis man slet ikke indtaster noget i forfatterfeltet?

Her virker den ikke...den springer lige over, og indsaætter hele artiklen selvom der er mere end 4 tegn i forfatter.

php: Når jeg har sendt beskeden, giver jeg en lille kommentar hvori der står at indsættelse er gået godt. Under kommentaren bliver formen (den samme php-kode) sat ind igen(jeg bruger ikke header()). 2. Gang man så skal til at skrive artikel, så virker [ryd felter] ikke.(Men det betyder ikke det store, hvis det er fjerner jeg den bare). Hvis JS virker så vil den knappen også virker.
Avatar billede claushelth Nybegynder
09. februar 2003 - 18:40 #21
skal lige spise...
Avatar billede claushelth Nybegynder
31. marts 2003 - 18:20 #22
nå...jeg lukker?...fik det aldrig til at virke...så validere i stedet med php
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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