Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Onchange, ny fält

Postades av 2006-06-10 12:28:28 - Hassan Fakhro, i forum javascript/dhtml, Tråden har 8 Kommentarer och lästs av 886 personer

Hej!
Jag har tex detta:
<code>
<select name="kategori">
<option value='4' id='cat4' >Bilar</option>
<option value='5' id='cat5' >Bildelar & Biltillbehör</option>
<option value='36' id='cat36' >Bilstereo</option>
</select>
</code>

Jag vill att ifall man tex anger Bilar, så skall en ny fält visas nedan.
Dvs, nya koden skall se ut såhär.
<code>
<select name="kategori">
<option value='4' id='cat4' >Bilar</option>
<option value='5' id='cat5' >Bildelar & Biltillbehör</option>
<option value='36' id='cat36' >Bilstereo</option>
</select>
<br>
<input name="bilmodell" type="text" id="epost" size="40">
</code>

Tacksam för svar.


Svara

Sv: Onchange, ny fält

Postades av 2006-06-12 16:48:52 - Peter Larsson

Hej Hassan
Det finns flera olika alternativ du kan välja, för att lösa detta problem.

Exvis kan du, i förväg, lägga ut de fält som skall vara synliga beroende på vilket val som görs.
Annars kan du lägga ut fältet dynamiskt.

Här är ett exempel på att lägga ut det dynamiskt:

Javascript:

 var input = document.createElement("input");
 input.name = "bilmodell";
 input.type = "text";
 input.id = "epost";
 input.size = "40";
 document.all["field"].insertAdjacentElement("AfterBegin", input);

Och lagret field:
 <span id="field"></span>

---

Ovanstående lägger alltså ut ett inmatningsfält "input", i lagret "field".

Du kan även lägga in det som ren HTML direkt med metoden "insertAdjacentHTML". Som sagt finns det flera olika alternativ. Vad som funkar i vilka webläsare, är en annan sak, men dessa fungerar i IE (också kanske även i FireFox, är inte säker).

/ Peter


Svara

Sv:Onchange, ny fält

Postades av 2006-06-12 18:08:45 - Simon Dahlbacka

ifall du skulle ha gjort insättningen rätt (dvs. enligt standard, du är ju ändå halvvägs där med createElement) så skulle det ha funkat "alla" relativt nya browsers, nu funkar det bara i IE.

resten är samma, men byt ut document.all raden till

document.getElementById("field").appendChild(input);


(sen ifall input är ett bra namn på variabeln är en annan fråga, IE har (i alla fall haft) en viss tendens att tro sej veta vad man *egentligen* menat...)


Svara

Sv:Onchange, ny fält

Postades av 2006-06-20 12:42:25 - Stefan Skalk

Hej

Kännde att jag kunde fortsätta på denna tråd med en följdfråga i ämnet. Jag har en table sen skulle jag vilja skjuta till en tr i samband med vissa händelser som jag vill styra.

Men när jag använder samma modell som Ni tipsat om tidigare här så får jag inte in tr på rätt plats, utan den kommer in ovanför table. Jag har lagt in ett span mellan två tidigare rader (tr) och hoppades på att den nya raden skulle komma in där. Naturligtvis så har jag kopplat den nya raden till det id som jag lagt till i span...


Är det fel tillvägagångssätt för det som jag vill uppnå?

//Stefan


Svara

Sv: Onchange, ny fält

Postades av 2006-06-20 19:48:51 - Simon Dahlbacka

det är fel jo, antagligen är det inte ens tillåtet att pilla in spans mellan tr:s, för att inte tala om att det inte funkar, som du märkte..

Titta på <b>insertRow</b> samt <b>insertCell</b> istället. (http://www.w3schools.com/htmldom/met_table_insertrow.asp resp. http://www.w3schools.com/htmldom/met_tablerow_insertcell.asp)


Svara

Sv: Onchange, ny fält

Postades av 2006-06-20 20:10:38 - Peter Larsson

Skicka gärna din text så skall jag hjälpa dig.


Svara

Sv:Onchange, ny fält

Postades av 2006-06-21 08:07:34 - Stefan Skalk

Tack, de va precis de där som jag sökte!

//Stefan


Svara

Sv: Onchange, ny fält

Postades av 2006-06-24 19:55:57 - Hassan Fakhro

Hej!
Ursäkta mig men jag förstår faktiskt inget av det tidigare.
Jag skall visa min kod:
Det är en sökmotor.

<code>
<form name="form" method="post" action="sok.asp">
<input type="text" name="sokord">
<select name="kategori">
<!-- #include file="kategori.asp" -->
</select>
<select name="kategori">
<!-- #include file="stad.asp" -->
</select>
<input type="submit" name="Submit" value="<%= Sok %>">
</form>
</code>

I kategori väljer jag tex bilar.
Då skall den nya koden se ut såhär:
<code>
<form name="form" method="post" action="sok.asp">
<input type="text" name="sokord">
<select name="kategori">
<!-- #include file="kategori.asp" -->
</select>
<select name="kategori">
<!-- #include file="stad.asp" -->
</select>
<input type="text" name="arsmodell">
<input type="submit" name="Submit" value="<%= Sok %>">
</form>
</code>

Tacksam för svar.


Svara

Sv:Onchange, ny fält

Postades av 2006-06-25 12:12:18 - Peter Larsson

Skickar med ett exempel.

<html>
 <head>
  <title></title>
 
  <script language="javascript">
   function categoryChanged(obj) {
    // Create reference to tag.
    var dynField = document.getElementById("dynFields");

    // Remove all tags.
    for(var i=0; i<dynFields.childNodes.length; i++)
     dynField.removeChild(dynField.childNodes[i]);

    // Insert new HTML tag(s).
    switch(obj.options[obj.selectedIndex].text) {
     case "bilar":
      var field = document.createElement("input");
      field.type = "text";
      field.name = "arsmodell";
      dynField.appendChild(field);
      break;

     case "annat":
      var field = document.createElement("input");
      field.type = "button";
      field.name = "minknapp";
      field.text = "Knapp!";
      dynField.appendChild(field);
      break;
    }  
   }
  </script>
 </head>

 <body>
  <form name="form" method="post" action="sok.asp">
   <input type="text" name="sokord">

   <select name="kategori" onchange="javascript:categoryChanged(this);"> 
    <option>bilar</option>
    <option>annat</option>
   </select>

   <br>
   <span id="dynFields"></span>
   <br>

   <input type="submit" name="Submit" value="Sok">
  </form>
 </body>

</html>


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
512
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies