Avatar billede compac Seniormester
19. juni 2004 - 18:36 Der er 11 kommentarer og
1 løsning

Automatisk tekst ved checkbox-markering

Hvordan kommer der automatisk en tekst i "det aktuelle" tekstfelt ved tryk på en checkbox. Teksten skal jeg danne i en funktion. Jeg er godt klar over at koden kunne være lidt mere professionel.

<html>
    <title>test af checkbox</title>
<meta name="generator" content="TSW WebCoder">
<head>
<script type="text/javascript">
  function valider(f){
      navn = f.navn;
    if(navn.value == "" ) {
      alert("Du skal indtaste navn.");
      navn.select();
      navn.focus();
      return false; }
     
      navn2 = f.navn2
     
    if(navn2.value == "" ) {
      alert("Du skal indtaste navn2.");
      navn2.select();
      navn2.focus();
      return false; }
     
    navn3 = f.navn3
     
    if(navn3.value == "" ) {
      alert("Du skal indtaste din navn3.");
      navn3.select();
      navn3.focus();
      return false; }
  }
</script>
</head>

<body>
<form method="post" name="minform" action="#" onsubmit="return valider(this);">
<table>
<tr>
  <td>Navn:</td>
  <td><input name="navn" ></td>
</tr>
<tr>
  <td>Navn2:</td> 
  <td><input name="navn2" ></td>
</tr>
<tr>
  <td>Navn3:</td>
  <td><input name="navn3" ></td>
</tr>
<tr>
  <td>tekstind:<INPUT type=checkbox name="tekstind"></td>
  <td>indsaet:<INPUT type=checkbox name="indsaet"></td>
<tr><td><input type="submit" name="submitknap" value="Send" ></td></tr>
</tr>
</table>
</form>
</body>
</html>
Avatar billede thesurfer Nybegynder
19. juni 2004 - 18:39 #1
Prøv at tilføjge ".value": navn = f.navn.value;
Også med alle de andre..
Avatar billede thesurfer Nybegynder
19. juni 2004 - 18:39 #2
Glem hvad jeg skrev.. :-)
Sidder vist og sover.. :-)
Avatar billede skovenborg Nybegynder
19. juni 2004 - 18:47 #3
tænker du på:
var aktivtelm;
  function indsaetTekst(elm,tekst) {
        if (aktivtelm && elm.checked == true) {
              aktivtelm.value = tekst;
        }
  }

<form method="post" name="minform" action="#" onsubmit="return valider(this);">
<table>
<tr>
  <td>Navn:</td>
  <td><input name="navn" onfocus="aktivtelm = this" ></td>
</tr>
<tr>
  <td>Navn2:</td>
  <td><input name="navn2" onfocus="aktivtelm = this"></td>
</tr>
<tr>
  <td>Navn3:</td>
  <td><input name="navn3" onfocus="aktivtelm = this" ></td>
</tr>
<tr>
  <td>tekstind:<INPUT type=checkbox name="tekstind" onclick="indsaetTekst(this,'Noget tekst');"></td>
  <td>indsaet:<INPUT type=checkbox name="indsaet"></td>
<tr><td><input type="submit" name="submitknap" value="Send" ></td></tr>
</tr>
</table>
</form>
Avatar billede roenving Novice
19. juni 2004 - 18:47 #4
<html>
    <title>test af checkbox</title>
<meta name="generator" content="TSW WebCoder">
<head>
<script type="text/javascript">
  function valider(f){
      navn = f.navn;
    if(navn.value == "" ) {
      alert("Du skal indtaste navn.");
      navn.select();
      navn.focus();
      return false; }
     
      navn2 = f.navn2
     
    if(navn2.value == "" ) {
      alert("Du skal indtaste navn2.");
      navn2.select();
      navn2.focus();
      return false; }
     
    navn3 = f.navn3
     
    if(navn3.value == "" ) {
      alert("Du skal indtaste din navn3.");
      navn3.select();
      navn3.focus();
      return false; }
  return true;
  }
var act = null;
function inds(){
  if(act){
    alert(act.name);
    act.value = "Noget tekst";
  }
}
</script>
</head>

<body>
<form method="post" name="minform" action="#" onsubmit="return valider(this);">
<table>
<tr>
  <td>Navn:</td>
  <td><input name="navn" onfocus="act=this;"></td>
</tr>
<tr>
  <td>Navn2:</td> 
  <td><input name="navn2" onfocus="act=this;"></td>
</tr>
<tr>
  <td>Navn3:</td>
  <td><input name="navn3" onfocus="act=this;"></td>
</tr>
<tr>
  <td>tekstind:<INPUT type=checkbox name="tekstind"></td>
  <td>indsaet:<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds();"></td>
<tr><td><input type="submit" name="submitknap" value="Send" ></td></tr>
</tr>
</table>
</form>
</body>
</html>
Avatar billede compac Seniormester
19. juni 2004 - 22:05 #5
Ja, såvidt jeg kan se er I begge inde på det. Det skal være sådan, at brugeren klikker på hvilket tekstfelt han vil have sin tekst stående i, og derefter i den checkbox, som aktiverer en funktion der danner den tekst han ønsker.
Avatar billede skovenborg Nybegynder
19. juni 2004 - 22:23 #6
skal der være en række checkboxe, som hver kan tilføje en bestemt tekst til det aktive tekstfelt?
Og skal teksten blive slettet igen hvis checkboxen bliver krydset fra igen?
Avatar billede compac Seniormester
21. juni 2004 - 12:41 #7
- Ja, helt korrekt.
Avatar billede roenving Novice
21. juni 2004 - 14:57 #8
<html>
    <title>test af checkbox</title>
<meta name="generator" content="TSW WebCoder">
<head>
<script type="text/javascript">
  function valider(f){
      navn = f.navn;
    if(navn.value == "" ) {
      alert("Du skal indtaste navn.");
      navn.select();
      navn.focus();
      return false; }
     
      navn2 = f.navn2
     
    if(navn2.value == "" ) {
      alert("Du skal indtaste navn2.");
      navn2.select();
      navn2.focus();
      return false; }
     
    navn3 = f.navn3
     
    if(navn3.value == "" ) {
      alert("Du skal indtaste din navn3.");
      navn3.select();
      navn3.focus();
      return false; }
  return true;
  }
var act = null;
function inds(txt){
  if(act){
    act.value = txt;
  }
}
</script>
</head>

<body>
<form method="post" name="minform" action="#" onsubmit="return valider(this);">
<table>
<tr>
  <td>Navn:</td>
  <td><input name="navn" onfocus="act=this;"></td>
</tr>
<tr>
  <td>Navn2:</td> 
  <td><input name="navn2" onfocus="act=this;"></td>
</tr>
<tr>
  <td>Navn3:</td>
  <td><input name="navn3" onfocus="act=this;"></td>
</tr>
<tr>
  <td>Indsæt 'Kvaj':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Kvaj');"></td>
  <td>Indsæt 'Du er sød':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Du er sød');"></td></tr>
<tr>
  <td>Indsæt 'Hej':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Hej');"></td>
  <td>Indsæt 'Du er grim':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Du er grim');"></td></tr>
<tr>
  <td>Indsæt 'Vi ses':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Vi ses');"></td>
  <td>Indsæt 'Med venlig hilsen':<INPUT type=checkbox name="indsaet" onclick="if(this.checked)inds('Med venlig hilsen');"></td></tr>
<tr><td><input type="submit" name="submitknap" value="Send" ></td></tr>
</tr>
</table>
</form>
</body>
</html>
Avatar billede compac Seniormester
21. juni 2004 - 21:17 #9
Alletiders!

Læg et svar!
Avatar billede roenving Novice
21. juni 2004 - 21:35 #10
Men som du kan se erstattes teksten, mens checkboxene bliver stående afkrydset, måske ville det være bedre at lave en tilføj tekst ( brug += i stedet for = ), og så ville jeg også overveje at bruge nogle buttons i stedet !-)

-- velbekomme '-)
Avatar billede compac Seniormester
21. juni 2004 - 21:53 #11
Ja, det nok mere fornuftigt.
Avatar billede roenving Novice
08. april 2005 - 09:53 #12
Tak for point ;~}
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