Avatar billede jrr Nybegynder
28. september 2006 - 13:53 Der er 9 kommentarer og
1 løsning

java script variabel sendt som form til anden side

Hej Eksperter

Mit problem er at jeg har en del html tekst i en java script variabel, som jeg skal have sendt til en anden side, da jeg skal have det lagt ind i en mysql databasen (ved hjælp af php), jeg kan godt få teksten koblet på adressen, men det er jo begrænset til 720 tegn, men der er jo ikke begrænsning på data længden hvis det er sendt fra en form, så hvordan får jeg lavet min java script variabel om til form data ?

Hvis i gerne vil have noget kode skal i nok få det.

Håber i kan hjælpe

Hilsen jrr
Avatar billede Slettet bruger
28. september 2006 - 13:56 #1
Hvis du alligevel benytter PHP, hvorfor så ikke bare smide det i en session, som du kan tilgå fra den næste side ?

Nu er det jo svært at vide hvad du vil lave, men hvis dit javascript blot skal tjekke op på noget, og derefter gå videre til næste side, kan du jo stadig benytte en session.
Avatar billede roenving Novice
28. september 2006 - 13:59 #2
-- ellers lægger du det bare i et skjult felt i formen !o]

-- begrænsningen er såvidt jeg ved ikke noget med 720 tegn, men at en url i IE maximum kan være 2083 karakterer lang (såvidt jeg husker !-)
Avatar billede olebole Juniormester
28. september 2006 - 14:12 #3
<ole>

Hvad skal du præcist lave - og hvordan?  :)

/mvh
</bole>
Avatar billede jrr Nybegynder
28. september 2006 - 15:02 #4
jeg er ved at lave en editor til at lave indhold på en hjemmeside, der viser formateringen af teksten med det samme.
mit problem er at jeg henter data fra en iframe og har indtil vidre kun kunne får det ud derfra ved hjælp af java script, men kan det lade sig gøre uden en iframe eller hved hjælp af en form vil jeg helst det, da jeg er nybegynder i java script

jeg kan godt sende jeg koden, med den er rimelig lang og meget rodet (jeg har hentet det fra en del forskællige steder, og ikke fådet rydet op i det endnu).
Avatar billede jrr Nybegynder
28. september 2006 - 20:31 #5
her er koden hvis den er nødvendig.


<html>

<head>

<script language="javascript">
   
   
   
   

bLoad=false
pureText=true
bodyTag="<BODY MONOSPACE STYLE=\"font:10pt arial,sans-serif\">"
bTextMode=false
public_description=new Editor

function Editor() {
    this.put_html=SetHtml;
    this.get_html=GetHtml;
    this.put_text=SetText;
    this.get_text=GetText;
    this.CompFocus=GetCompFocus;
}
function GetCompFocus() {
    Composition.focus();
}

function GetText() {
    return Composition.document.body.innerText;
}

function SetText(text) {
    text = text.replace(/\n/g, "<br>")
    Composition.document.body.innerHTML=text;
}

function GetHtml() {
    if (bTextMode)
        return Composition.document.body.innerText;
    else {
        return Composition.document.body.innerHTML;
    }
}

function SetHtml(sVal) {
    if (bTextMode) Composition.document.body.innerText=sVal;
    else Composition.document.body.innerHTML=sVal;
}
//slut Editor Class

/***********************************************
Initialiseree alt n&aring;r dokumentet er  klar
***********************************************/
var YInitialized = false;

function _handleKeyDown () {
    var ev = this.parentWindow.event
    if(ev.keyCode == 13) {
        var sel=Composition.document.selection.createRange();
        sel.pasteHTML("<BR>");
        sel.select();
        ev.returnValue=false;
        ev.cancelBubble=true;
    }
}

/***********************************************
Initialiseree en kanp paa toolbar
***********************************************/
function InitBtn(btn) {
    btn.onmouseover = BtnMouseOver;
    btn.onmouseout = BtnMouseOut;
    btn.onmousedown = BtnMouseDown;
    btn.onmouseup = BtnMouseUp;
    btn.ondragstart = YCancelEvent;
    btn.onselectstart = YCancelEvent;
    btn.onselect = YCancelEvent;
    btn.YUSERONCLICK = btn.onclick;
    btn.onclick = YCancelEvent;
    btn.YINITIALIZED = true;
    return true;
}

// afbryder en handling
function YCancelEvent() {
    event.returnValue=false;
    event.cancelBubble=true;
    return false;
}

// Toolbar button onmouseout haendtering
function BtnMouseOut() {
    if (event.srcElement.tagName != "IMG") {
        event.cancelBubble = true;
        return false;
    }
    var image = event.srcElement;
    var element = image.parentElement;
    yRaisedElement = null;
    element.className = "Btn";
    image.className = "Ico";
    event.cancelBubble = true;
}

// Toolbar button onmousedown haendtering
function BtnMouseDown() {
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    event.returnValue=false;
    return false;
  }
  var image = event.srcElement;
  var element = image.parentElement;

  element.className = "BtnMouseOverDown";
  image.className = "IcoDown";

  event.cancelBubble = true;
  event.returnValue=false;
  return false;
}

// Toolbar Button onmouseup haendtering
function BtnMouseUp() {
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    return false;
  }

  var image = event.srcElement;
  var element = image.parentElement;

  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");

  element.className = "BtnMouseOverUp";
  image.className = "Ico";

  event.cancelBubble = true;
  return false;
}



// Checker om toolbar bliver brugt n&aring;r den er i tekst mode
function validateMode() {
  if (! bTextMode) return true;

  alert('Fravælg venligt "Vis HTML kilde" for at benytte værktøjslinjen');

  Composition.focus();
  return false;
}

function sendHtml(){
    if(bTextMode){
        document.composeForm.body.value = public_description.get_text();
        return true;
    }
    else{
        document.composeForm.body.value = public_description.get_html();
        return true;
    }
}

//Formatere tekstt i composition.
function formatC(what,opt) {
  if (!validateMode()) return;
  if (opt=="removeFormat") {
    what=opt;
    opt=null;
  }
  if (opt==null) Composition.document.execCommand(what);
  else Composition.document.execCommand(what,"",opt);
  pureText = false;
  Composition.focus();
}


//Finder og retunere et element
function getEl(sTag,start) {
  while ((start!=null) && (start.tagName!=sTag)) start = start.parentElement;
  return start;
}

function createLink() {
  if (!validateMode()) return;
 
  var isA = getEl("A",Composition.document.selection.createRange().parentElement());


  var str=prompt("Skriv URLen:", isA ? isA.href : "http:\/\/");


  if ((str!=null) && (str!="http://")) {
    if (Composition.document.selection.type=="None") {
      var sel=Composition.document.selection.createRange();
      sel.pasteHTML("<A HREF=\""+str+"\">"+str+"</A> ");
      sel.select();
    }
    else formatC("CreateLink",str);
  }
  else Composition.focus();
}

//Saetter tekst farve
function foreColor() {
  if (! validateMode()) return;
  var arr = showModalDialog("/ym/ColorSelect?3", "", "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:35em");
  if (arr != null) formatC('forecolor', arr);
  else Composition.focus();
}

//Sets the background color.
function backColor() {
  if (!validateMode()) return;
  var arr = showModalDialog("/ym/ColorSelect?3", "", "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:35em");
  if (arr != null) formatC('backcolor', arr);
  else Composition.focus()
}
function gem() {
  parent.main.focus();
  var nummer = GetHtml();
  window.open('gem.php?data=' + nummer);


}
</script> 


</head>

<body bgcolor="#000000" topmargin="30" leftmargin="30">

<table cellspacing="2" cellpadding="0" border="0" align="center" width="600">
<tr>
    <td bgcolor="white" valign="top">
    <form method="get" target="_blank" name="composeForm" action="gem.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="0" >
        <tr>
        <td>&nbsp;</td>
        <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="3">
                  <tr>
                  <td>
                      <div id="ParaToolbar">
                      <select id="FontName" language="javascript" onChange="formatC('fontname',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Skrifttype
                          <option value="Arial">Arial
                          <option value="Arial Black">Arial Black
                          <option value="Arial Narrow">Arial Narrow
                          <option value="Comic Sans MS">Comic Sans MS
                          <option value="Courier New">Courier New
                          <option value="System">System
                          <option value="Times New Roman">Times New Roman
                          <option value="Verdana">Verdana
                          <option value="Wingdings">Wingdings
                      </select>
                      <select id="FontSize" language="javascript" onChange="formatC('fontsize',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Strørrelse
                          <option value="1">1
                          <option value="2">2
                          <option value="3">3
                          <option value="4">4
                          <option value="5">5
                          <option value="6">6
                          <option value="7">7
                      </select>
                      <select id="FontColor" language="javascript" onChange="formatC('forecolor',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Farve
                          <option value="red">Rød
                          <option value="blue">Blå
                          <option value="green">Grøn
                          <option value="black">Sort
                      </select>
                      <select id="FontBackColor" language="javascript" onChange="formatC('backcolor',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Baggrund
                          <option value="red">Rød
                          <option value="blue">Blå
                          <option value="green">Grøn
                          <option value="black">Sort
                          <option value="yellow">Gul
                          <option value="white">Hvid
                      </select>
                    </div>
                      <table>
                          <tr>
                          <td><div language="javascript" onClick="formatC('cut')"><img src="images/cut.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('copy')"><img src="images/copy.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('paste')"><img src="images/paste.gif"></div></td>
                          <td><div tlanguage="javascript" onClick="formatC('bold');"><img src="images/bold.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('italic')"><img src="images/italic.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('underline')"><img src="images/under.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifyleft')"><img src="images/aleft.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifycenter')"><img src="images/center.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifyright')"><img src="images/aright.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('insertorderedlist')"><img src="images/nlist.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('insertunorderedlist')"><img src="images/blist.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('outdent')"><img src="images/ileft.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('indent')"><img src="images/iright.gif"></div></td>
                          <td><div language="javascript" onClick="createLink()"><img src="images/wlink.gif"></div></td>
                          </tr>
                      </table>

           
                    <IFRAME NAME="main" ID="Composition" FRAMEBORDER=1 border=0 scrolling=yes WIDTH="400" HEIGHT="400" SRC="test.php">
                   
                   
                   
                    </IFRAME>
                   
                    <script><!--
                       
                        Composition.document.designMode="On";
                        // -->
                   
                    </script>
                 
                <input type="submit" value="Ret  startside">
                </form>
                </td>
                  </tr>
              </table>
        </td>
        </tr>
        <tr>
        <td>&nbsp;</td>
        <td><a href="java script:gem()">Gem &AElig;ndringerne</a>
        </td>
        </tr>   
    </table>
    </form>
    </td>
    </tr>
    <tr>
    <FORM>
   
    </FORM>
    </tr>
</table>


</body>

</html>
Avatar billede jrr Nybegynder
29. september 2006 - 02:32 #6
jeg har delvist løst problemet, jeg har fådet lagt java variablen over i et form feldt, men der stadig et problem, jeg kan ikke lægge mere end 1200 tegn ind i indput feldet, kender i nogle løsninger ??
Avatar billede webcreator Nybegynder
29. september 2006 - 02:55 #7
Brug en textarea ;)
Avatar billede jrr Nybegynder
29. september 2006 - 08:34 #8
det har jeg prøvet, jeg tror ikke det er nå jeg taster det ind der er problemer, men når jeg hænter det ind i formen det går galt for der hvor jeg taster det ind er der slet ingen felder, men bare ren html, prøv at se koden:
Først index.php

<html>

<head>
<title></title>
<script language="javascript">

bLoad=false
pureText=true
bodyTag="<BODY MONOSPACE STYLE=\"font:10pt arial,sans-serif\">"
bTextMode=false
public_description=new Editor

function Editor() {
    this.put_html=SetHtml;
    this.get_html=GetHtml;
    this.put_text=SetText;
    this.get_text=GetText;
    this.CompFocus=GetCompFocus;
}
function GetCompFocus() {
    Composition.focus();
}

function GetText() {
    return Composition.document.body.innerText;
}

function SetText(text) {
    text = text.replace(/\n/g, "<br>")
    Composition.document.body.innerHTML=text;
}

function GetHtml() {
    if (bTextMode)
        return Composition.document.body.innerText;
    else {
        return Composition.document.body.innerHTML;
    }
}

function SetHtml(sVal) {
    if (bTextMode) Composition.document.body.innerText=sVal;
    else Composition.document.body.innerHTML=sVal;
}
//End  of Editor Class

/***********************************************
Initialize everything when the document is ready
***********************************************/
var YInitialized = false;

function _handleKeyDown () {
    var ev = this.parentWindow.event
    if(ev.keyCode == 13) {
        var sel=Composition.document.selection.createRange();
        sel.pasteHTML("<BR>");
        sel.select();
        ev.returnValue=false;
        ev.cancelBubble=true;
    }
}

/***********************************************
Initialize a button ontop of toolbar
***********************************************/
function InitBtn(btn) {
    btn.onmouseover = BtnMouseOver;
    btn.onmouseout = BtnMouseOut;
    btn.onmousedown = BtnMouseDown;
    btn.onmouseup = BtnMouseUp;
    btn.ondragstart = YCancelEvent;
    btn.onselectstart = YCancelEvent;
    btn.onselect = YCancelEvent;
    btn.YUSERONCLICK = btn.onclick;
    btn.onclick = YCancelEvent;
    btn.YINITIALIZED = true;
    return true;
}

// Hander that simply cancels an event
function YCancelEvent() {
    event.returnValue=false;
    event.cancelBubble=true;
    return false;
}

// Toolbar button onmouseover handler
function BtnMouseOver() {
    if (event.srcElement.tagName != "IMG") return false;
    var image = event.srcElement;
    var element = image.parentElement;
    // Change button look based on current state of image.- we don't actually have chaned image
    // could be commented but don't remove for future extension
    if (image.className == "Ico") element.className = "BtnMouseOverUp";
    else if (image.className == "IcoDown") element.className = "BtnMouseOverDown";
    event.cancelBubble = true;
}

// Toolbar button onmouseout handler
function BtnMouseOut() {
    if (event.srcElement.tagName != "IMG") {
        event.cancelBubble = true;
        return false;
    }
    var image = event.srcElement;
    var element = image.parentElement;
    yRaisedElement = null;
    element.className = "Btn";
    image.className = "Ico";
    event.cancelBubble = true;
}

// Toolbar button onmousedown handler
function BtnMouseDown() {
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    event.returnValue=false;
    return false;
  }
  var image = event.srcElement;
  var element = image.parentElement;

  element.className = "BtnMouseOverDown";
  image.className = "IcoDown";

  event.cancelBubble = true;
  event.returnValue=false;
  return false;
}

// Toolbar button onmouseup handler
function BtnMouseUp() {
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    return false;
  }

  var image = event.srcElement;
  var element = image.parentElement;

  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");

  element.className = "BtnMouseOverUp";
  image.className = "Ico";

  event.cancelBubble = true;
  return false;
}



// Check if toolbar is being used when in text mode
function validateMode() {
  if (! bTextMode) return true;

  alert('Fravælg venligt "Vis HTML kilde" for at benytte værktøjslinjen');

  Composition.focus();
  return false;
}

function sendHtml(){
    if(bTextMode){
        document.composeForm.body.value = public_description.get_text();
        return true;
    }
    else{
        document.composeForm.body.value = public_description.get_html();
        return true;
    }
}

//Formats text in composition.
function formatC(what,opt) {
  if (!validateMode()) return;
  if (opt=="removeFormat") {
    what=opt;
    opt=null;
  }
  if (opt==null) Composition.document.execCommand(what);
  else Composition.document.execCommand(what,"",opt);
  pureText = false;
  Composition.focus();
}


//Finds and returns an element.
function getEl(sTag,start) {
  while ((start!=null) && (start.tagName!=sTag)) start = start.parentElement;
  return start;
}

function createLink() {
  if (!validateMode()) return;
 
  var isA = getEl("A",Composition.document.selection.createRange().parentElement());


  var str=prompt("Skriv URLen:", isA ? isA.href : "http:\/\/");


  if ((str!=null) && (str!="http://")) {
    if (Composition.document.selection.type=="None") {
      var sel=Composition.document.selection.createRange();
      sel.pasteHTML("<A HREF=\""+str+"\">"+str+"</A> ");
      sel.select();
    }
    else formatC("CreateLink",str);
  }
  else Composition.focus();
}

//Sets the text color.
function foreColor() {
  if (! validateMode()) return;
  var arr = showModalDialog("/ym/ColorSelect?3", "", "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:35em");
  if (arr != null) formatC('forecolor', arr);
  else Composition.focus();
}

//Sets the background color.
function backColor() {
  if (!validateMode()) return;
  var arr = showModalDialog("/ym/ColorSelect?3", "", "font-family:Verdana; font-size:12; dialogWidth:30em; dialogHeight:35em");
  if (arr != null) formatC('backcolor', arr);
  else Composition.focus()
}
function save() {
SetText("test");
}
function printit() {
  parent.main.focus();
  parent.main.print();
}
function gem() {
  parent.main.focus();
  var nummer = GetHtml();
  window.open('gem.php?data=' + nummer);


}
</script> 

</head>

<body bgcolor="#000000" topmargin="30" leftmargin="30">

<table cellspacing="2" cellpadding="0" border="0" align="center" width="600">
<tr>
    <td bgcolor="white" valign="top">
    <form method="get" target="_blank" name="composeForm" action="gem.php">
    <table width="100%" border="0" cellspacing="1" cellpadding="0" >
        <tr>
        <td>&nbsp;</td>
        <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="3">
                  <tr>
                  <td>
                      <div id="ParaToolbar">
                      <select id="FontName" language="javascript" onChange="formatC('fontname',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Skrifttype
                          <option value="Arial">Arial
                          <option value="Arial Black">Arial Black
                          <option value="Arial Narrow">Arial Narrow
                          <option value="Comic Sans MS">Comic Sans MS
                          <option value="Courier New">Courier New
                          <option value="System">System
                          <option value="Times New Roman">Times New Roman
                          <option value="Verdana">Verdana
                          <option value="Wingdings">Wingdings
                      </select>
                      <select id="FontSize" language="javascript" onChange="formatC('fontsize',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Strørrelse
                          <option value="1">1
                          <option value="2">2
                          <option value="3">3
                          <option value="4">4
                          <option value="5">5
                          <option value="6">6
                          <option value="7">7
                      </select>
                      <select id="FontColor" language="javascript" onChange="formatC('forecolor',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Farve
                          <option value="red">Rød
                          <option value="blue">Blå
                          <option value="green">Grøn
                          <option value="black">Sort
                      </select>
                      <select id="FontBackColor" language="javascript" onChange="formatC('backcolor',this[this.selectedIndex].value);this.selectedIndex=0">
                          <option class="heading" selected>Baggrund
                          <option value="red">Rød
                          <option value="blue">Blå
                          <option value="green">Grøn
                          <option value="black">Sort
                          <option value="yellow">Gul
                          <option value="white">Hvid
                      </select>
                    </div>
                      <table>
                          <tr>
                          <td><div language="javascript" onClick="formatC('cut')"><img src="images/cut.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('copy')"><img src="images/copy.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('paste')"><img src="images/paste.gif"></div></td>
                          <td><div tlanguage="javascript" onClick="formatC('bold');"><img src="images/bold.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('italic')"><img src="images/italic.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('underline')"><img src="images/under.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifyleft')"><img src="images/aleft.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifycenter')"><img src="images/center.gif"></div></td>
                          <td><div name="Justify" language="javascript" onClick="formatC('justifyright')"><img src="images/aright.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('insertorderedlist')"><img src="images/nlist.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('insertunorderedlist')"><img src="images/blist.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('outdent')"><img src="images/ileft.gif"></div></td>
                          <td><div language="javascript" onClick="formatC('indent')"><img src="images/iright.gif"></div></td>
                          <td><div language="javascript" onClick="createLink()"><img src="images/wlink.gif"></div></td>
                          </tr>
                      </table>

           
                    <IFRAME NAME="main" ID="Composition" FRAMEBORDER=1 border=0 scrolling=yes WIDTH="400" HEIGHT="400" SRC="test.php"></IFRAME>
                    <input type="hidden" name="content">
                    <script><!--
                       
                        Composition.document.designMode="On";
                        // -->
                   
                    </script>
                 
                <input type="submit" onClick="InsertText()" value="Ret  startside">
<script language="JavaScript" type="text/javascript">
function InsertText(){
document.composeForm.content.value = Composition.document.body.innerHTML;
}
</script>
                </form>
                </td>
                  </tr>
              </table>
        </td>
        </tr>
        <tr>
        <td>&nbsp;</td>
        <td><a href="java script:gem()">Gem &AElig;ndringerne</a>
        </td>
        </tr>   
    </table>
    </form>
    </td>
    </tr>
    <tr>
    <FORM>
   
    </FORM>
    </tr>
</table>


</body>

</html>


*************
test.php :

<HTML>
<BODY>


</BODY>


</HTML>
Avatar billede jrr Nybegynder
29. september 2006 - 08:36 #9
glem alt om linjen <a href="java script:gem()">Gem &AElig;ndringerne</a>
Det er det første forsøg der virkede dårligere, jeg glemte bare at fjerne det ;-)
Avatar billede jrr Nybegynder
03. oktober 2006 - 08:31 #10
lukker :-(
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