Avatar billede circadian Nybegynder
09. november 2009 - 09:50 Der er 14 kommentarer og
1 løsning

Fjern linjeskift efter input

Hej,

Jeg har denne kode:

Tekst <input type="text" id="inputtekst" style="border: none" value="randomtekst" class="font"/> og mere tekst.<br/>

Det den gør nu, er at lave linjeskift efter "randomtekst", men "og mere tekst" skal altså stå på samme linje.

Hvordan fjerner jeg det linjeskift?
Avatar billede zips Juniormester
09. november 2009 - 11:59 #1
Hvad har du og stå i id="inputtekst"  class="font" for det burde virke som det er.
09. november 2009 - 12:14 #2
Det er skaegt, jeg har puttet din kode ind i den foelgende kode paa hjemmesiden http://christianjorgensen.be/circadian3.php og der laver den ikke linieskift.  Hvad goer du anderledes?

Her er koden:

<table cellpadding="5" cellspacing="0" class="gul" style="width: 100%">
  <tr><td><p>
  <input type="text" id="inputtekst" style="border: none" value="randomtekst" class="font"/>
  mere tekst.<br/>
  </p></td></tr>
</table>
Avatar billede circadian Nybegynder
09. november 2009 - 19:18 #3
@ zips: font er bare definition af font family og size. id er bare et id (don't ask)

@ Christian:
Hele koden ser således ud:

<table style="background-color:white" border="1" cellpadding="2" cellspacing="0" class="table">
<tr>
<td>
Tekst <input type="text" id="rlsnavn-c" style="border: none" class="font"/> mere tekst.<br/>
</td>
</tr>
</table>

Eneste forskel fra din er <p>, men det skulle vel ikke gøre noget (har lige afprøvet det).

Den tekst, der står i inputfeltet (her kaldet "rlsnavn-c"), er kopieret fra et andet inputfelt ved navn "rlsnavn". Længden af inputfeltet "rlsnavn-c" skal svare præcist til den længde, som det indtastede i "rlsnavn" har (da der jo kommer tekst lige bagefter). Lige nu sker der det, at inputfeltet "rlsnavn-c" har en fixed size, og det nytter jo ikke noget.
Avatar billede zips Juniormester
09. november 2009 - 19:32 #4
Det du viser vil det stå på en linje, så derfor spurgte jeg til din css, udover dine id="inputtekst"  class="font" som sikkert er i din css begge 2, har du så nogen style af dit input?

Læg din css så vi kan se om det er der fejlen opstår.
Avatar billede circadian Nybegynder
09. november 2009 - 20:02 #5
<style type="text/css">
    .table
    {
    font-family:arial;
    font-size:13;
    }

    .font
    {
    font-family:arial;
    font-size:13;
    }
   
    .gul
    {
    background-color:#D7E87B
    }

    .tab
    {
    margin-left:40px;
    font-family:arial;
    font-size:13;
    }
Avatar billede zips Juniormester
09. november 2009 - 20:23 #6
Her er din kode lagt ind sammen med din css http://zips.be/exp/892173/

Du må have noget andet som kan få det til at lave linjeskift.
Avatar billede circadian Nybegynder
09. november 2009 - 20:31 #7
Jamen du kan da godt se problemet her? Inputfeltet har en fixed size. Det skal det ikke være. Se nederst i #3.
Avatar billede zips Juniormester
09. november 2009 - 21:42 #8
Ok det kan jeg godt se, var bare mere optaget af det du spurgte om end det du skriv i #3

Jeg kender ikke nogen måde til dette, måske kan det laves med javascript.
09. november 2009 - 22:08 #9
Jeg maa tilstaa at det ikke er helt klart for mig.  Kan du ikke give et link til den side du arbejder paa saa man kan se hele koden i sammenhaeng, eller hvis det ikke er muligt saa kopier hele koden for siden.
Avatar billede zips Juniormester
09. november 2009 - 22:18 #10
Christian_Belgien > der spørges efter en måde til at sætte auto width på hans input felt så det passer lige til den tekst som han henter ind så hele tekst linjen står som en linje unde mellemrum før og efter hans input felt.
Avatar billede circadian Nybegynder
09. november 2009 - 22:36 #11
Præcis. Her er koden:

----------------------
<html>
<head>
  <title>...</title>

      <style type="text/css">
    .table
    {
    font-family:arial;
    font-size:13;
    }

    .font
    {
    font-family:arial;
    font-size:13;
    }
   
    .farve
    {
    background-color:#D7E87B
    }

    .tab
    {
    margin-left:40px;
    font-family:arial;
    font-size:13;
    }

    </style>
   
    <script type="text/javascript">

    function SelectAll(id)
    {
    document.getElementById(id).focus();
    document.getElementById(id).select();
    }

    function copyText(sourceid, targetid1, targetid2, targetid3, targetid4)
    {
    var y=document.getElementById(sourceid).value
    document.getElementById(targetid1).value=y
    document.getElementById(targetid2).value=y
    document.getElementById(targetid3).value=y
    document.getElementById(targetid4).value=y
    }

    </script>
</head>

<body>
<font face="arial" size="2">
<font size="6"><b>Overskrift</b></font><br/><br/>

<p>
  <b>TEKST INPUT:</b>
<br/><br/>

1.1) Indsæt Tekst1 her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="tekst1" onClick="SelectAll(this.id);" onchange="copyText(this.id, 'tekst1-c1', 'tekst1-c2', 'tekst1-c3')"

style="border: none; width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

1.2) Indsæt en længere tekst her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="langtekst" onClick="SelectAll(this.id);" onchange="copyText(this.id, 'langtekst-c')" style="border: none;

width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

1.3) Random tekst her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="tekst2" onClick="SelectAll(this.id);" onchange="copyText(this.id, 'tekst2-c')" style="border: none;

width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

<hr/>
</p>

2) Tabel med indsatte tekster:
<table style="background-color:white; width=100%" border="1" cellpadding="2" cellspacing="0" class="table">
<tr>
  <td><b>Tekst1:</b></td>
  <td><input type="text" id="tekst1-c1" onClick="SelectAll(this.id);" style="border: none; width:100%" class="font"/></td>
</tr>
<tr>
  <td><b>Felt, hvor "og mere tekst her." skal komme <u>lige</u> efter teksten fra punkt 1.2) er slut.</b></td>
  <td>Noget tekst <input type="text" id="langtekst-c" style="border: none" class="font"/> og mere tekst her.
</tr>
<tr>
  <td><b>Tekst2:</b></td>
  <td><input type="text" id="tekst2-c" onClick="SelectAll(this.id);" style="border: none; width:100%" class="font"/></td>
</tr>
</table>
<br/>

<hr/>
</p>
</font>
</body>
</html>
09. november 2009 - 23:47 #12
Ok - .....
Du startede dette spoergsmaal med et problem med linieskift.  Hverken zips eller jeg kunne forstaa dette problem fordi den kode du kom med ikke syntes at foraarsage linieskift.

Naar jeg saa kikker paa koden i #11 ser det ud til at linieskift problemet i mellemtiden er forsvundet. 

Men nu er der et andet problem:  <td> nummer 2 i tabel "2) Tabel med indsatte tekster:" indeholder tre elementer, (1)  teksten "Noget tekst"; (2) et input felt; (3) teksten "og mere tekst her".  Input feltet (2) synes at have en fast bredte, og problemet er at du gerne vil have en bredte der afhaenger af den tekst der kommer til at staa.

En forudsaetning for at kunne hjaelpe med at loese et problem er at forstaa problemet.  Saa kan du bekraefte at der er INGEN problem med linieskift, men problemet er hvordan man kan faa input feltet's bredte til at afhaenge af den tekst der kommer til at staa?
Avatar billede circadian Nybegynder
10. november 2009 - 08:45 #13
Ja, præcis.
10. november 2009 - 12:08 #14
circadian, der er lidt svaert at raadgive dig naar det ikke er klart hvad dit forventede slutresultat er.
Nu har du endelig givet den fulde kode for siden.  Men hvad vil du med siden? 
Spoergsmaal 1:  De felter du kopierer tekst til, er det meningen at brugerne direkte skal indfoere tekst anden end den tekst der er kopieret fra andre felter?  Hvis det IKKE er tilfaeldet saa skal du ikke lave felterne som indput felter men bare som td's (fordi du arbejder med tabeller, ellers som div'S.)  Saa skal du huske at for at kopiere tekst til td's og div's skal du bruge "document.getElementById(targetid1).innerHTML=y" i stedet for "....value=y".
Spoergsmaal 2, den tekst du i et felt angiver som "Noget tekst her" og "og mere tekst her" hvor kommer de tekster fra?  Er det strings du indsaetter saaledes at det er faste naar brugeren benytter formen?  I saa fald vil jeg foreslaa simpel string-concatenation.  Jeg har for det formaal lavet en funktion "mergeText(sourceid, targetid) hvor jeg laver variabele for den faste tekst og saa indsaetter outputter disse variabele plus den tekst der skal kopieres.
Kommentar:  Saa vil du maaske foretraekke at have lidt kontrol med bredden af td'erne i tabellen - jeg har lavet dem 50%/50%.

Hvis jeg har gaettet rigtigt saa kan du se loesningen i http://christianjorgensen.be/circadian4.php og koden foelger nedenfor.  Jeg tillader mig derfor at sende dette som et svar som jeg gerne vil have points for.  Hvis jeg har gaettet forkert saa lad os tage en sidste runde, paa betingelse af at du giver fuld forklaring paa hvad det skal bruges til.

Her er saa koden:

<html>
<head>
  <title>...</title>

      <style type="text/css">
    .table
    {
    font-family:arial;
    font-size:13;
    }

    .font
    {
    font-family:arial;
    font-size:13;
    }
   
    .farve
    {
    background-color:#D7E87B
    }

    .tab
    {
    margin-left:40px;
    font-family:arial;
    font-size:13;
    }

    </style>
   
    <script type="text/javascript">

    function SelectAll(id)
    {
    document.getElementById(id).focus();
    document.getElementById(id).select();
    }

    function copyText(sourceid, targetid1, targetid2, targetid3, targetid4)
    {
    var y=document.getElementById(sourceid).value
    document.getElementById(targetid1).innerHTML=y
    document.getElementById(targetid2).innerHTML=y
    document.getElementById(targetid3).innerHTML=y
    document.getElementById(targetid4).innerHTML=y
    }

    function mergeText(sourceid, targetid)
    {
    var a = "Noget tekst: "
    var b = " og mere tekst her."
    var y=document.getElementById(sourceid).value
    document.getElementById(targetid).innerHTML=a+y+b
    }

    </script>
</head>

<body>
<font face="arial" size="2">
<font size="6"><b>Overskrift</b></font><br/><br/>

<p>
  <b>TEKST INPUT:</b>
<br/><br/>

1.1) Indsæt Tekst1 her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="tekst1" onClick="SelectAll(this.id);" onchange="copyText(this.id, 'tekst1-c1', 'tekst1-c2', 'tekst1-c3')"

style="border: none; width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

1.2) Indsæt en længere tekst her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="langtekst" onClick="SelectAll(this.id);" onchange="mergeText(this.id, 'langtekst-c')" style="border: none;

width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

1.3) Random tekst her:
<table cellpadding="5" cellspacing="0" class="farve" style="width: 100%">
<tr>
  <td>
  <p class="tab">
    <input type="text" id="tekst2" onClick="SelectAll(this.id);" onchange="copyText(this.id, 'tekst2-c')" style="border: none;

width:900px" class="font" class="farve"
    value=""/>
  </p> 
  </td>
</tr>
</table>
<br/>

<hr/>
</p>

2) Tabel med indsatte tekster:
<table style="background-color:white; width=100%" border="1" cellpadding="2" cellspacing="0" class="table">
<tr>
  <td width="50%"><b>Tekst1:</b></td>
  <td id="tekst1-c1" class="font"/>&nbsp;</td>
</tr>
<tr>
  <td><b>Felt, hvor "og mere tekst her." skal komme <u>lige</u> efter teksten fra punkt 1.2) er slut.</b></td>
  <td id="langtekst-c" class="font"/>Noget tekst her &nbsp;&nbsp; og mere tekst her.
</tr>
<tr>
  <td><b>Tekst2:</b></td>
  <td id="tekst2-c" class="font"/>&nbsp;</td>
</tr>
</table>
<br/>

<hr/>
</p>
</font>
</body>
</html>
Avatar billede circadian Nybegynder
10. november 2009 - 12:35 #15
Du har helt ret, og det fungerer helt efter hensigten. Mange tak!
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