Avatar billede jamfighter Nybegynder
12. oktober 2003 - 23:22 Der er 8 kommentarer og
1 løsning

Test af værdi i tekstfelt.

Hej alle...
Jeg skal bruge et javascript, som tester om de forskellige input felter jeg har i en form er tomme.
Er felterne tomme skal brugeren promptes, og ellers skal man bare sendes videre som ingenting var hændt.

Summasumarum, hvordan tester jeg vha af et javascript om der står noget i et tekstfelt, når jeg trykker på en knap?

På Forhånd Tak.

//anders
Avatar billede schaefner Juniormester
12. oktober 2003 - 23:33 #1
Avatar billede roenving Novice
13. oktober 2003 - 02:36 #2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Check alle felter for udfyldelse</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function checkForm(f){
    var txt = "";
    var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/i;
    for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if (fld.type=="text"&&fld.value==fld.defaultValue){
            txt+="\n\t"+fld.name;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        return false;
    }
    return true;
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm" action="" method="get" onsubmit="return checkForm(this);">
Input1: <input id="minInput1" name="input1" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input2: <input id="minInput2" name="Input2" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input3: <input id="minInput3" name="input3" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
E-mail: <input id="minInput4" name="Email" type="text" value="name@domain.topDomain" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br><br>
<input type="submit" value="Send data">
</form>
</body>
</html>
Avatar billede jamfighter Nybegynder
13. oktober 2003 - 13:34 #3
roenving det er præcis noget som det du har der jag skal bruge.
MEN (man vidste bare den ville komme ikke? =D )
jeg henter mine data til text felterne fra en database, og selvom der står noget i felterne brokkre den sig.
Derudover har jeg et felt som ikke bruges, men der brokker den sig alligevel.

Kender du en løsning??? Det er ellers præcis noget som dit jeg skal bruge.
Avatar billede roenving Novice
14. oktober 2003 - 04:38 #4
Hvis du indsætter værdierne fra databasen som value="" burde den præcis brokke sig for den er lavet med defaultValue, som henter sin information fra denne attribut ...

-- kan du smide et link eller give noget mere info kan vi/jeg garanteret give dig en mere kvalificeret hjælp !-)
Avatar billede jamfighter Nybegynder
05. november 2003 - 18:15 #5
Altså...
Her er koden:
<form name="warform" method="get" action="up-war2db.asp" onsubmit="return checkForm(this);">
Spil dato:<br>
<input type="hidden" value="<% = queryid%>" name="id">
<input type="text" value="<% = dato%>" readonly name="date">
<br><br><br>Modstander:<br>
<input type="text" name="component" value="<% = modstander%>"> i en
<input type="text" name="type" value="<% = type_ %>">
<br><br><br>Line-Up (seperer nicks med komma):<br>
<input type="text" name="lineup" size="80" value="<% = lineup%>">
<br><br><br>Maps spillet (angivet uden de_ foran - de_aztec = aztec):<br>
de_<input type="text" name="map1" value="<% = map1%>"> og de_<input type="text" name="map2" value="<% = map2%>">
<br><br><br>Vandt vi?<br>
<table>
<tr>
    <td width="50"><input type="radio" name="win" value="w_y" selected checked="<%
    If vinder = "ja" then
    Response.Write("true")
    Else
    Response.Write("")
    End if
    %>">JA</td>
    <td width="50"><input type="radio" name="win" value="w_n" checked="<%
    If vinder = "nej" then
    Response.Write("true")
    Else
    Response.Write("")
    End if
    %>">NEJ</td>
    <td><input type="radio" name="win" value="w_t" checked="<%
    If vinder = "tie" then
    Response.Write("true")
    Else
    Response.Write("")
    End if
    %>">Uafgjort</td>                                   
</tr>                                                                   
</table>
<br><br>Stillingen (os - dem):<br>
<input type="text" name="score" value="<% = stilling%>">
<br><br><br>Kort kommentar - max 255 karakterer.<br>
<textarea cols="25" rows="5" name="kommen" onKeyUp='return countChars(this.form)' onChange='return countChars(this.form)' onKeyPress='return countChars(this.form)'><% = kommentar%></textarea><input type="text" name="karak" size="3" value="255" readonly>

<br><br><br><br>
<table>
<tr>
    <td width="200"><input type="reset" value="Nulstil">
    <td><input type="submit" value="Tilføj"></td>
</tr>
</table>
</form>
<div align="center">System by <a href="mailto:6x109062@tiscali.dk">foo`</a> @ 109 development.</div>
</body>
<%
End if
%>
Som du kan se er det delvis ASP, alt mellem <% %> er asp kode, og du kan se er tekstfelterne fyldt ud f en value hentet fra nogle variabler. disse data står fint nok i felterne, men den brokker sig over alle felterne ellers...

Håber dette gav dig et prej i den rigtige retning... :)
Avatar billede roenving Novice
05. november 2003 - 18:22 #6
<script language="javascript" type="text/javascript">
function checkForm(f){
    var txt = "";
    var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/i;
    for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if (fld.type=="text"&&fld.value==""){
            txt+="\n\t"+fld.name;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        return false;
    }
    return true;
}
</script>
Avatar billede jamfighter Nybegynder
05. november 2003 - 21:55 #7
Tak det funkede.... hvis du lige gad at skrive et svar så du kunne få nogle point... :)
Avatar billede roenving Novice
05. november 2003 - 22:31 #8
Velbekomme '-)
Avatar billede roenving Novice
06. november 2003 - 18:12 #9
-- og tak for points ;~}
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