Avatar billede dannv Nybegynder
02. maj 2003 - 19:29 Der er 5 kommentarer og
1 løsning

event når en checkbox vælges

Jeg har en formular med to tekstfelter, en checkbox og en submit knap.
Hertil har jeg en javascript metode som tjekker at der står noget i de to tekstfelter. Men hvis man vælger at krydse af i checkboxen, må der ikke være en værdi i det nederste tekstfelt.....

Hvordan gøres dette.

Her kommer lige noget kode:
<html>
<head>
<!--<script LANGUAGE="JavaScript">
function isEmpty(str) {
  if (str==null || str=="")
    return true;
  return false;
}

function validate(container_id, used_quantity)
{
  if (isEmpty(container_id))
  {
    alert('Container Id must have a value');   
    return false;
  }

  if(isEmpty(used_quantity))
  {
      alert('Quantity Used must have a value');
      return false;
  }
  return true;
}
</script>-->
<title>
Check in a container using the fast lane..
</title>
</head>

<body>

<center>
<h1>Check in a container.</h1>

     
<form method="post" action="check_in_direct.jsp?code1=yes"
          OnSubmit="return validate(this.container_id.value,
          this.used_quantity.value);">
      <table class="special" cellspacing="2" cellpadding="1" border="1" width="45%">
      <tr>
          <td>Container ID:</td>
          <td><input type="text" name="container_id"></td>
      </tr>
      <tr>
          <td>Quantity Used:</td>
          <td><input type="text" name="used_quantity"></td>
      </tr>
      <tr>
          <td colspan="2">
          <input type="submit" name="Submit" value="Submit">
          <input type="checkbox" name="empty_container" value="1">The container is empty
          </td>
      </tr>
      </table>
      </form>
  <%}
  %>
Avatar billede killer_r Nybegynder
02. maj 2003 - 19:32 #1
if (document.getElementById("empty_container").checked) {
alert("Checkbox checked!");
}
Avatar billede dannv Nybegynder
02. maj 2003 - 20:09 #2
Jeg kan ikke helt få dit forslag til at løse mit problem. Jeg er klart novice indenfor javascript, skal det lige tilføjes. Men jeg ønsker noget allá:

function isEmpty(str) {
  if (str==null || str=="")
    return true;
  return false;
}

function validate(container_id, used_quantity)
{
if (document.getElementById("empty_container").checked)
{

  document.getElementById("used_quantity").readonly;
 
  if (isEmpty(container_id))
  {
    alert('Container Id must have a value');   
    return false;
  }
  return true;
  alert("Checkbox checked!");
}
else
{
  if (isEmpty(container_id))
  {
    alert('Container Id must have a value');   
    return false;
  }

  if(isEmpty(used_quantity))
  {
      alert('Quantity Used must have a value');
      return false;
  }
  return true;
}
}
</script>-->
Avatar billede dannv Nybegynder
02. maj 2003 - 20:41 #3
Hov jamen det løser jo mit problem.. ups. Nå men lige et tillægsspørgsmål (points'ne er dine...) Hvordan sætter jeg det ene felt("used_quantity") til readonly, hvis checkboxen afkrydses????
Avatar billede killer_r Nybegynder
02. maj 2003 - 22:13 #4
if (document.getElementById("empty_container").checked) {
document.getElementById("container_id").disabled = true;
}

Takker for point :)
Avatar billede killer_r Nybegynder
02. maj 2003 - 22:14 #5
Sorry...
if (document.getElementById("empty_container").checked) {
document.getElementById("used_quantity").disabled = true;
}
Avatar billede killer_r Nybegynder
02. maj 2003 - 22:15 #6
eller...

if (document.getElementById("empty_container").checked) {
document.getElementById("used_quantity").readonly = true;
}

:)
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