Avatar billede beef12 Nybegynder
04. august 2003 - 12:07 Der er 18 kommentarer og
1 løsning

hvorfor stopper IF-sætningen?

Luk annonce  Hej Eksperter,

Når jeg udfører denne script så checker den kun "nickname" og ikke andet. det er som om scriptet bare stopper...

Hvorfor?




<script>
function validate(check)
{
  if(check.nickname.value=="")
  {
    alert("Please enter your desired Nickname");
    check.nickname.focus();
    return(false);
  }

if(check.firstname.value=="")
  {
    alert("Please enter your Name");
    check.firstname.focus();
    return(false);
  }

if(check.lastname.value=="")
  {
    alert("Please enter your desired Last Name");
    check.lastname.focus();
    return(false);
  }
if(check.email.value=="")
  {
    alert("Please enter your E-mail");
    check.email.focus();
    return(false);
  }
if(check.address.value=="")
  {
    alert("Please enter your Address");
    check.address.focus();
    return(false);
  }
if(check.age.value=="")
  {
    alert("Please enter your Age");
    check.age.focus();
    return(false);
  }

    if (check.password1.value == "") {
    alert("you must enter a password");
    check.password1.focus();
    return (false);
  }
  if (check.password1.value != check.password2.value) {
    alert("Entered passwords did not match");
    check.password1.focus();
    check.password1.select();
    return (false);
  }
  return (true);

}
</script>
Avatar billede iver25 Nybegynder
04. august 2003 - 12:11 #1
Hvis check.nickname.value=="", så laver du en return false, og det gør at scriptet stopper.
Avatar billede grunken Nybegynder
04. august 2003 - 12:30 #2
som iver25 siger du ber den løbende om at returne false, og det breaker scriptet!

en hurtig omskrivning kunne se sådan ud!

<script>
function validate(check)
str = "Problems with following fields\n\n"

{
  if(check.nickname.value=="")
  {
    str =+ "Please enter your desired Nickname\n";
    v = false
  }

if(check.firstname.value=="")
  {
    str =+ "Please enter your Name\n";
    v = false
  }

if(check.lastname.value=="")
  {
    str =+ "Please enter your desired Last Name\n";
    v = false
  }
if(check.email.value=="")
  {
    str =+ "Please enter your E-mail\n";
    v = false
  }
if(check.address.value=="")
  {
    str =+ "Please enter your Address\n";
    v = false
  }
if(check.age.value=="")
  {
    str =+ "Please enter your Age\n";
    v = false
  }

    if (check.password1.value == "") {
    str =+ "you must enter a password\n";
    v = false
  }
  if (check.password1.value != check.password2.value) {
    str =+ "Entered passwords did not match\n";
    check.password1.focus();
    check.password1.select();
    v = false
  }

  if(v != false){
  v=true;}
  else{
  alert(str);} 

return v
}
</script>

ikke testet ;)
Avatar billede iver25 Nybegynder
04. august 2003 - 12:36 #3
Jeg synes helt klart at den måde du har lavet på er den bedste. Der er jo ingen grund til at checke resten hvis "nickname" alligevel ikke er valid
Avatar billede Slettet bruger
04. august 2003 - 12:40 #4
grunken>> =+ skal ændres til +=
Avatar billede grunken Nybegynder
04. august 2003 - 12:41 #5
god damnit *G*

phoenixV bytter om på dem hver eneste gang, du får sikkert held til at lære mig det en dag! ;p
Avatar billede beef12 Nybegynder
04. august 2003 - 12:44 #6
lækkert, tak for det.
Avatar billede beef12 Nybegynder
04. august 2003 - 12:53 #7
hovsa - når jeg bruger grunkens kode så siger den at der r fejl. Jeg har prøvet at rette den igennem - men kan ikke se hvor fejlen skulle ligge...

<script>
function validate(check)
str = "Problems with following fields\n\n"

{
  if(check.nickname.value=="")
  {
    str += "Please enter your desired Nickname\n";
    v = false
  }

if(check.firstname.value=="")
  {
    str += "Please enter your Name\n";
    v = false
  }

if(check.lastname.value=="")
  {
    str += "Please enter your desired Last Name\n";
    v = false
  }
if(check.email.value=="")
  {
    str += "Please enter your E-mail\n";
    v = false
  }
if(check.address.value=="")
  {
    str += "Please enter your Address\n";
    v = false
  }
if(check.age.value=="")
  {
    str += "Please enter your Age\n";
    v = false
  }

    if (check.password1.value == "") {
    str += "you must enter a password\n";
    v = false
  }
  if (check.password1.value != check.password2.value) {
    str += "Entered passwords did not match\n";
    check.password1.focus();
    check.password1.select();
    v = false
  }

  if(v != false){
  v=true;}
  else{
  alert(str);} 

return v
}
</script>
Avatar billede grunken Nybegynder
04. august 2003 - 12:58 #8
de første 4 linier ;)

<script>
function validate(check)
str = "Problems with following fields\n\n"
{

skal være:

<script>
function validate(check){
str = "Problems with following fields\n\n"

;)
Avatar billede beef12 Nybegynder
04. august 2003 - 14:07 #9
snøft det virker stadig ikke, måske skulle jeg bare holde nallerne fra :o(



<script>
function validate(check){
str = "Problems with following fields\n\n"

  if(check.nickname.value=="")
  {
    str += "Please enter your desired Nickname\n";
    v = false
  }

if(check.firstname.value=="")
  {
    str += "Please enter your Name\n";
    v = false
  }

if(check.lastname.value=="")
  {
    str += "Please enter your desired Last Name\n";
    v = false
  }
if(check.email.value=="")
  {
    str += "Please enter your E-mail\n";
    v = false
  }
if(check.address.value=="")
  {
    str += "Please enter your Address\n";
    v = false
  }
if(check.age.value=="")
  {
    str += "Please enter your Age\n";
    v = false
  }

    if (check.password1.value == "") {
    str += "you must enter a password\n";
    v = false
  }
  if (check.password1.value != check.password2.value) {
    str += "Entered passwords did not match\n";
    check.password1.focus();
    check.password1.select();
    v = false
  }

  if(v != false){
  v=true;}
  else{
  alert(str);} 

return v
   
}
</script>
Avatar billede beef12 Nybegynder
04. august 2003 - 14:08 #10
findes der ikke en god editor med en solid debugger, måske?
Avatar billede Slettet bruger
05. august 2003 - 10:28 #11
Kalder du funktionen ordentligt?

<form ... onSubmit="return validate(this);">

Ellers bliver du nødt til at smide et link.
Avatar billede beef12 Nybegynder
06. august 2003 - 02:00 #12
<html>
<body>


<script>
function validate(check){
str = "Problems with following fields\n\n"

  if(check.nickname.value=="")
  {
    str += "Please enter your desired Nickname\n";
    v = false
  }

if(check.firstname.value=="")
  {
    str += "Please enter your Name\n";
    v = false
  }

if(check.lastname.value=="")
  {
    str += "Please enter your desired Last Name\n";
    v = false
  }
if(check.email.value=="")
  {
    str += "Please enter your E-mail\n";
    v = false
  }
if(check.address.value=="")
  {
    str += "Please enter your Address\n";
    v = false
  }
if(check.age.value=="")
  {
    str += "Please enter your Age\n";
    v = false
  }

    if (check.password1.value == "") {
    str += "you must enter a password\n";
    v = false
  }
  if (check.password1.value != check.password2.value) {
    str += "Entered passwords did not match\n";
    check.password1.focus();
    check.password1.select();
    v = false
  }

  if(v != false){
  v=true;}
  else{
  alert(str);} 

return v
   
}
</script>




<form method="post" action="Mforum_newuser2.asp" name="form" onsubmit="return validate(this)" >
<title>Add new user</title>

<h2>Add new user</h2>
<br>
<p>Form vil not create user unless all fields are filled out !</p>
<table>
<tr>
<td>Nickname:</td>
<td><input name="nickname"></td>
</tr><tr>
<td>E-mail:</td>
<td><input name="email"></td>
</tr><tr>
<td>First Name:</td>
<td><input name="FirstName"></td>
</tr><tr>
<td>Last Name:</td>
<td><input name="LastName"></td>
</tr><tr>
<td>Type password:</td>
<td><input type="PASSWORD" name="password1" value=""></td>
</tr><tr>
<td>Verify password:</td>
<td><input type="PASSWORD" name="password2" value=""></td>
</tr><tr>
<td>Address:</td>
<td><input name="Address"></td>
</tr><tr>
<td><input name="Date" type="hidden" value="<% Response.write Date() %>"></td>
</tr><tr>

<td>Age:</td>
<td><ul><select name="Age">

<option value="" selected>
<option value="13"> 13
<option value="14"> 14
<option value="15"> 15
<option value="16"> 16
<option value="17"> 17
<option value="18"> 18
<option value="19"> 19
<option value="20"> 20
<option value="21"> 21
<option value="22"> 22
<option value="23"> 23
<option value="24"> 24
<option value="25"> 25
<option value="26"> 26
<option value="27"> 27
<option value="28"> 28
<option value="29"> 29
<option value="30"> 30

</select>
</ul></td>
</tr><tr>
</tr>

</table>
<br /><br />

<input type="submit" value="Add New">
<input type="reset" value="Cancel">
</form>







<HR>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Port=3306; Option=0; Socket=; Stmt=; Database=mydatabase; Uid=admin; Pwd=admin;"



sql= sql & "INSERT INTO tb_userinfo ("

sql=sql & "NickName, Email, FirstName, LastName, password, Address, Age, DateIssued)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("NickName") & "',"
sql=sql & "'" & Request.Form("Email") & "',"
sql=sql & "'" & Request.Form("FirstName") & "',"
sql=sql & "'" & Request.Form("LastName") & "',"
sql=sql & "'" & Request.Form("password") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("Age") & "',"
sql=sql & "'" & Request.Form("Date") & "')"

on error resume next

'IF Request.form("NickName") = "" THEN
'Response.Write("Write your Nickname")
'END IF









conn.Execute sql


conn.close
%>






</body>
</html>
Avatar billede beef12 Nybegynder
06. august 2003 - 02:05 #13
nå men, sådan ser hele lortet ud (med undtagelse af connection password ;o))
Men det har ikke hjulpet en skid. Var vist lige hurtig nok til at afgive points der...
Avatar billede Slettet bruger
06. august 2003 - 15:23 #14
JavaScript tager højde for store og små bogstaver, så hvis du kalder et felt for "LastName", skal der ikke stå "lastname" i scriptet.
Avatar billede beef12 Nybegynder
06. august 2003 - 15:27 #15
nå for pokker - jeg ændrer det lige så. Tak ...
Avatar billede Slettet bruger
06. august 2003 - 15:31 #16
I øvrigt vil et link være meget mere behjælpeligt. For det første, fordi ASP-koden er ligegyldig for os JavaScriptere, og for det andet fordi man så selv kan se de fejl, der fremkommer.
Avatar billede beef12 Nybegynder
07. august 2003 - 15:17 #17
nå lortet virker stadig ikke...
Der fremkommer ingen fejlmeddelse.
Og siderne er beskyttet med logins - så jeg finder på noget andet - ellers tak.
Avatar billede Slettet bruger
07. august 2003 - 15:45 #18
Så kunne du vel lave en test-login.
Avatar billede beef12 Nybegynder
19. august 2003 - 17:02 #19
jeg har løst problemet... Der var altså ikke noget galt med den oprindelige kode. Problemet var som phoenixv sagde - jeg skal huske at JavaScripts er case-sensetive. Ligeså snart jeg rettededet i den originale kode, så virkede det. Rettede jeg derimod det samme i den kode der blev foreslået i eksperten, så virkede det ikke...
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