Avatar billede mr_white Nybegynder
07. juli 2003 - 19:03 Der er 9 kommentarer og
1 løsning

Hente data fra en Div til en Form

Hey
Skal bruge en function der henter informationerne i et div (layer) og sender det videre i en form.

Havde regnet med noget i den her stil :

function submitfrontpage()    
{
document.getElementById('Frontpagetext2')=document.addEntry.Frontpagetext;

document.addEntry.submit();
}

Hygge
Avatar billede =maddog= Nybegynder
07. juli 2003 - 19:17 #1
hvad er formålet? en div har jo ikke dynamisk indhold, så vil du ikke bare komme til at sende det samme med hver gang?
in any case bør du have et hidden felt i din form i denne stil
<input type="hidden" name="divcontent" value="">
og så (hvor Fronpagetext2 er id på div'en og addEntry er name på formen)
document.addEntry.divcontent.value=document.getElementById('Frontpagetext2').innerText;
Avatar billede mr_white Nybegynder
07. juli 2003 - 19:23 #2
Div layeret er sat til contenteditable="true"
Avatar billede mr_white Nybegynder
07. juli 2003 - 19:32 #3
hmmm... kan ikke rigtig få det til at virke...

får en "Object required" fejl
Avatar billede =maddog= Nybegynder
07. juli 2003 - 20:24 #4
noget i denne stil duer fint her:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Untitled</title>
    <script type="text/javascript">
    function submitDiv() {
        try {
            document.addEntry.divContent.value = document.getElementById("feeder").innerText;
            alert(document.addEntry.divContent.value);
            return true;
        } catch (e) {
            alert(e);
            return false;
        }
    }
    </script>
</head>
<body>
<form action="#" name="addEntry" id="addEntry" onsubmit="return submitDiv();">
<input type="hidden" name="divContent" id="divContent">
<div id="feeder" contenteditable="true" style="border:1px solid black;width:200px;height:200px;overflow:auto;"></div>
<input type="submit" value="Send">
</form>
</body>
</html>

kan du ligge noget online hvis du forsat ikke kan finde ud af det?
Avatar billede mr_white Nybegynder
07. juli 2003 - 22:00 #5
cool takker..... det virker jo :)

Så hvis du lige smider et svar, kan jeg overføre de 100 points.
Avatar billede netsi64 Nybegynder
07. juli 2003 - 22:10 #6
<html>
<head>
  <script language="javascript" type="text/javascript">
  <!--
    function mySubmit()
    {
        alert('Frontpagetext2 indeholder ved submit dette:\n\n'+addEntry.Frontpagetext2.value);
        return (false);
    };

    function putHTMLInForm(oElement)
    {
      try {
        addEntry.Frontpagetext2.value  = oElement.innerHTML;
        return (true);
      } catch(e) {
        alert(e.description);
        return (false);
      };
    };

    function hiLow(oElement, iStatus)
    {
      oElement.className = (iStatus) ? 'htmlTextActive' : 'htmlTextInactive';
    }
  //-->
  </script>
  <style>
    .htmlTextInactive {border:1px dotted #99d;width:400px;height:200px;overflow:auto;}
    .htmlTextActive {border:1px solid #ddf;width:400px;height:200px;overflow:auto;}
  </style>
</head>
<body onload="htmlText.focus()">
  <form id="addEntry" onsubmit="return mySubmit()">
    <div onmouseout="hiLow(this, false)" onmouseover="hiLow(this, true)" onblur="putHTMLInForm(this)" onbeforepaste="alert()" id="htmlText" contenteditable="true" class="htmlTextInactive">
      <strong>Her kan du skrive</strong> med f.eks. <u>understreget</u> eller<br>
      <i>kursiv</i>...
    </div>
    <input type="hidden" id="Frontpagetext2" name="Frontpagetext2">
    <input type="submit" value="send">
  </form>
</body>
</html>
Avatar billede =maddog= Nybegynder
07. juli 2003 - 22:48 #7
Sorry, jeg havde lige noget på bedding. Hermed et svar.
Avatar billede mr_white Nybegynder
08. juli 2003 - 15:11 #8
nice... lige hvad jeg skulle bruge netsi64... hvis du sender et svar, er det også et par pionts din vej
Avatar billede =maddog= Nybegynder
08. juli 2003 - 15:17 #9
hvad du gør er din sag, men i reglen bør det første korrekte svar have pointene. Jeg ser intet nyt i netsi's forslag, udover den sender HTML afsted hvilket umuligt kan være ønskværdigt.
Såfremt du virkelig ønsker at sende html kan du ændre linjen
document.addEntry.divContent.value = document.getElementById("feeder").innerText;
til
document.addEntry.divContent.value = document.getElementById("feeder").innerHTML;
Avatar billede netsi64 Nybegynder
08. juli 2003 - 21:09 #10
:-) Jeg går egentlig ikke efter points, og ja - "=maddog=" var først med
en løsning - så jeg tager til takke med dine ord "mr white" :-)
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

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