I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har stadig fejlen, det sker i selve ved load af filen.
Her har I hele function:
<script language=javascript> function funcsubmit(){
var knap = document.all.userinfo;
if (knap.email.value.indexOf(\"@\")==-1 || knap.email.value.indexOf(\".\")==-1 || knap.email.value.length == 0 || knap.email.value.indexOf(\"\'\") > 0 ) { alert (\"Please give an email address\") ; knap.email.focus() ; knap.email.select() ; return false ; }
if (knap.fname.value.length == 0) { alert (\"Please write a first name\") ; knap.fname.focus() ; knap.fname.select() ; return false ; }
if (knap.lname.value.length <= 1) { alert (\"Please write a last name\") ; knap.lname.focus() ; knap.lname.select() ; return false ; }
var lovlig = \"0123456789ABCDEFGHIJKLMOPQRSTUVXYZ\";
if (knap.RequestTCID.value.length != 0 && knap.RequestTCID.value.length != 5){ alert (\"TCID must consist of five characters\") knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false ; }
// koden virker fint indtil den når til if lovlig delen!!! if (knap.RequestTCID.value.length != 0) { for (i=0; i<Knap.RequestTCID.value; i++){ if (lovlig.indexOf(Knap.RequestTCID.charAt(i))<0)) { (Knap.RequestTCID.charAt(i))<0)) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } } } // End Problem
if (isNaN(knap.byear.value)|| parseInt(knap.byear.value) < 1900 || parseInt(knap.byear.value) > 2050) { alert (\"Please give your year of birth in 4 digits\") ; knap.byear.focus() ; knap.byear.select() ; return false ; }
if (knap.gender.value == \"\") { alert (\"Please select a gender\") ; knap.lname.focus() ; return false ; }
<% if iAlias = \"\" then \'## the user is not logged in(new user) %> if (knap.uid.value.length == 0 || knap.uid.value.indexOf(\"\'\") > 0 || knap.uid.value.indexOf(\"\\\"\") > 0) { alert (\"Please write a valid login name\") ; knap.uid.focus() ; knap.uid.select() ; return false ; }
if (knap.uid.value.length > 25) { alert (\"The maximum length of the login name is 25 characters\") ; knap.uid.focus() ; knap.uid.select() ; return false ; } <% else \'## the user is logged in (change of user profile) %> if (knap.password1.value != knap.password2.value) { alert (\"The two passwords are not identical\") ; knap.password1.focus() ; knap.password1.select() ; return false ; }
if (knap.password1.value.length < 3 ||knap.password1.value.length > 15) { alert (\"The password shall be between 3 and 15 characters\") ; knap.password1.focus() ; knap.password1.select() ; return false ; } <% end if %> } </script>
Ændrede den dårlige kode til nedstående men jeg får stadig samme fejl!
if (knap.RequestTCID.value.length != 0) { for (i=0; i<knap.RequestTCID.value; i++){ if (lovlig.indexOf(knap.RequestTCID.charAt(i))<0) { (knap.RequestTCID.charAt(i))<0)) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } } }
Jeg går ud fra at knap.RequestTCID.value er en streng med det brugeren har skrevet i dit felt. Du skal bruge knap.RequestTCID.value.length i din for-løkke for at sikre at i ikke bevæger sig ud over enden af strengen.
for (i=0; i<knap.RequestTCID.value.length; i++){
PS: det var vist det samme erikjakobsen sagde allerførst :)
Og du får stadig samme fejl når du modificerer betingelsen i forløkken så der testes imod i<knap.RequestTCID.value.length istedet for blot i<knap.RequestTCID.value som du har det i alle dine eksempler ?
Det lyder underligt - Jeg har testet det under både NS og IE - Jeg tror ikke det er den linie der er noget galt med - Er det en javascript fejl eller asp?
Kører du stadig igennem en løkke? Det skal du ikke hvis du bruger min metode. Evt prøv at skrive scriptet igen, så skal jeg se hvad jeg kan gøre
Jeg har forsøgt at skifte min kode ud de viste ovenfor. Normalt ville jeg vælge samme løsning som du har vist, men jeg kan simpelt hen ikke få \"skidtet\" til at virke.
Kan det have noget med at gøre at jeg validerer det samme to gange?
Jeg tror at du har en fejl i en løkke. Men kan ikke sige det, da jeg ikke kan se koden.
Desuden var der en åbenlys fejl i din tidligere kode:
if (knap.RequestTCID.value.length != 0) { for (i=0; i<knap.RequestTCID.value; i++){ if (lovlig.indexOf(knap.RequestTCID.charAt(i))<0) { (knap.RequestTCID.charAt(i))<0)) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } } }
Du gentager den samme linie: \"(knap.RequestTCID.charAt(i))<0)) { \" Du trækker heller ikke værdien ud af formen: \" knap.RequestTCID.charAt(i) \" Den rettede skulle være:
if (knap.RequestTCID.value.length != 0) { for (i=0; i<knap.RequestTCID.value.length; i++){ if (lovlig.indexOf(knap.RequestTCID.value.charAt(i))<0) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } } }
Du ville desuden gøre dig selv en meget stor tjeneste, hvis du lavede lokale variabler, da det er lettere at læse:
var strValue = knap.RequestTCID.value; if ( strValue.length != 0 ) { for ( var i = 0; i < strValue.length; i++ ) { if ( lovlig.indexOf( strValue.charAt( i ) ) < 0 ) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } } }
Følgende tjek er desuden overflødigt: if ( strValue.length != 0 ) du vil alligevel ikke køre gennem en løkke der har længden 0
Så dit script kan koges ned til:
var strValue = knap.RequestTCID.value; for ( var i = 0; i < strValue.length; i++ ) { if ( lovlig.indexOf( strValue.charAt( i ) ) < 0 ) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; } }
eller på min måde:
var strValue = knap.RequestTCID.value if ( strValue.indexOf( /[^A-Z0-9]/ ) != -1 ) { alert(\"TCID can only contain letters and number\"); knap.RequestTCID.focus() ; knap.RequestTCID.select() ; return false; }
Jeg kan ikke få skidtet til at virke jeg får stadig \"Invalid Character\". Så jeg lukker denne.
Jeg ved I ikke kan bruge det til noget, men mange tak for indsatsen.
Synes godt om
Ny brugerNybegynder
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.