Avatar billede agurken Nybegynder
10. februar 2010 - 15:12 Der er 8 kommentarer og
1 løsning

Textarea i javascript variabel

Er det muligt at sende indholdet af et textarea videre via javascript, og så stadig være muligt at kunne nl2br(); senere?

Fx.

<textarea id="text"></textarea>
<input type="submit" onSubmit="Funktion(getElementById(text).value)" />

Hvor "value" så forbliver "intakt"?
Avatar billede majbom Novice
10. februar 2010 - 15:27 #1
skal det være onsubmit?

kan du ikke bruge en button og så onclick?
Avatar billede agurken Nybegynder
10. februar 2010 - 15:35 #2
Det kan det også være
Avatar billede majbom Novice
10. februar 2010 - 15:43 #3
så det skal sendes til f.eks. en php-fil uden at man lægger mærke til det?

så skal du have fat i noget ajax
Avatar billede agurken Nybegynder
10. februar 2010 - 15:45 #4
Bruger også ajax, men kan godt komme videre med den hvis det bare er en enkelt linie, men hvis der er linie skift, så kan den ikke finde ud af det.
Avatar billede majbom Novice
10. februar 2010 - 15:55 #5
hvad har du af kode?
Avatar billede agurken Nybegynder
10. februar 2010 - 16:02 #6
Har dette:

index.php

<html>
<head>
<script src="login.js"></script>
</head>
<body>
<div id="WholeContent">

<form action="#" onSubmit="return false">
<textarea id="text"></textarea><br />
<input type="submit" value="Check!" id="e" onClick="Delay(getElementById('text').value)"  />
<p>Suggestions: <span id="LoginError"></span></p>
</form>

</div>
</body>
</html>


login.js

var xmlhttp

function Delay(text){
    document.getElementById("LoginError").innerHTML = "Attempting log in....Please wait...";
   
       
    setTimeout("LoginTry('"+text+"')",1500);

}

function LoginTry(text)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support XMLHTTP!");
  return;
  }
var url="login.php";
url=url+"?text="+text;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
  {
      document.getElementById("LoginError").innerHTML=xmlhttp.responseText;
      //window.location.href="index.php?login=1";
  //document.getElementById("txtHint").innerHTML=xmlhttp.responseText.split("|");
  }
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}


login.php

<?php

$text = nl2br($_GET['text']);

$response = $text;

echo $response;
?>
Avatar billede intenz Novice
10. februar 2010 - 17:13 #7
Det er fordi du bruger GET hvor variablerne derved sendes med som en del af URL'en.

Prøv at brug POST i stedet.

Der findes masser af eksempeler til det på google:
http://www.google.dk/#hl=da&rlz=1R2GGLL_da&q=XMLHttpRequest+post&meta=&aq=f&oq=XMLHttpRequest+post&fp=8f579c65eeeb5235
Avatar billede agurken Nybegynder
10. februar 2010 - 23:35 #8
Og jeg takker mange gange :)
Avatar billede intenz Novice
11. februar 2010 - 13:25 #9
Fint det virkede :)
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