Just nu i M3-nätverket
Gå till innehåll

textarea med direktsvar


jan-erik

Rekommendera Poster

$m=0;
while ($m<$n) {

<textarea name="ftxt" cols="52" rows="<? echo $antrad; ?>" readonly="readonly" ; " 
id="txtara"
onclick=
"this.style.backgroundColor='red';  
this.readOnly = false; this.value = ''; " >
<? echo $ftext[$m];?>
</textarea>

$m++;
}

 

 

I denna textarea lägger jag ut text som man ska kunna svara på genom att skriva direkt i arean.

Därför har jag onclick där jag häver skrivskydd, rensar texten och dessutum målar rött.

Men, det jag oxå behöver är et submit-knapp som även den dyker upp vid onclick. Jag vill ju kunna skicka iväg texten nånstans.

 

Hur löser jag detta?

 

Länk till kommentar
Dela på andra webbplatser

Det borde att gå att lösa med CSS.

 

<input type=submit style="visibility:hidden" name=submit_knapp>

 

onclick=

"this.style.backgroundColor='red';

this.readOnly = false; this.value = '';

this.form.submit_knapp.style.visibiltity='visible' "

 

 

 

Länk till kommentar
Dela på andra webbplatser

Tack igen zzzzimon, tänk va lätt det är när man får det serverat!

 

Något lite problem finns det ändå kvar.

När jag klickar i textrutan så funkar rödfärgning och tömning som det ska, men jag får inte fram submitknappen.

Det måste va nåt i onclick, eftersom knappen kommer fram som den ska när jag tar bort visibility:hidden.

 

 

Så här ser koden ut:

<textarea name="ftxt" readonly="readonly" id="txtara"

onclick="this.style.backgroundColor='red';

this.readOnly = false;

this.value = '';

this.form.submit_knapp.style.visibility='visible' ">

<? echo $ftext[$m]; ?>

</textarea>

 

<input type="submit" style="visibility:hidden;" value="skick" name="submit_knapp">

 

Länk till kommentar
Dela på andra webbplatser

Koden fungerar jan-erik. Kan det vara så att du saknar FORM-taggar?

Hursomhelst bör du ändra följande:

this.form.submit_knapp.style.visibility='visible' 

till

document.getElementsByName('submit_knapp')[0].style.visibility='visible' 

 

Länk till kommentar
Dela på andra webbplatser

Tack, Anjuna!

Nu funkade det, och det kanske det gjorde innan oxå. Eftersom textareorna lägges ut i en loop om cirka 10 st efter varandra (ungefär som ett forum eller nåt) så vill jag ju att knappen ska dyka upp inom "sin" ruta (som rödfärgen gör), men som det blev nu så dök den upp i den översta rutan. Det var nog därför jag inte observerade den.

 

I väntan på era kloka tankar experimenterade jag med att använda php till att ändra visibility, genom att skriva visibility="<? echo $hidsbm; ?>" och ge $hidsbm alternativt hidden/visible. Detta funkade givetvis, men eftersom jag ju ändå måste koppla detta till onclick så sär det en krånglig omväg.

 

Länk till kommentar
Dela på andra webbplatser

<input type="submit" style="visibility:hidden;" value="<? echo $fid[$m]; ?>" name="submit_knapp">

<textarea name="ftxt"  id="txtara"
onclick="
this.style.backgroundColor='red';  
this.readOnly = false; this.value = '';
document.getElementsByName
    ('submit_knapp') [color="#ff0000"][0][/color] .style.visibility='visible'  ">
<? echo $ftext[$m];?>

 

var inptknappen hamnar styrs ju av det röda indexet, och om där står "0" så hamnar det ju i den överst textrutan oavsett var jag klickar.

Alltså är frågan nu hur jag får detta index dynamiskt, dvs om jag klickar i 3:e textrutan så ska indexet = 2.

 

Har ni nån bra ide om detta?

[inlägget ändrat 2008-01-31 16:42:04 av jan-erik]

 

[inlägget ändrat 2008-01-31 16:46:17 av jan-erik]

Länk till kommentar
Dela på andra webbplatser

$m=0;
while $m<$n {
input type="submit" style="visibility:hidden;" value="<? echo $fid[$m]; ?>" name="submit_knapp">

<textarea name="ftxt"  id="txtara"
onclick="
this.style.backgroundColor='red';  
this.readOnly = false; this.value = '';
document.getElementsByName
    ('submit_knapp') [color="#ff0000"][0][/color] .style.visibility='visible'  ">
<? echo $ftext[$m];?>
</textarea>
$m++;
}

Här ligger textarean inne i en loop, och denna loop producerar ett antal textareor, där jag vilka kunna plocka ut en som jag klickat i.

Hur ska jag kunna ersätta "0" med en dynamisk variabel som svarar mot vilken textarea i ordningen det gäller?

 

Länk till kommentar
Dela på andra webbplatser

onclick="
this.style.backgroundColor='red';  
this.readOnly = false; this.value = '';
document.getElementsByName
    ('submit_knapp') [color="#ff0000"][<? echo ($m); ?>] [/color].style.visibility='visible'  ">

 

Nu fixade jag själv det!

Det svåraste är att tänka enkelt.

Kan man ge sig själv poäng eller måste Moon ha den?

 

Länk till kommentar
Dela på andra webbplatser

onclick="
this.style.backgroundColor='red';  
this.readOnly = false; this.value = '';
document.getElementsByName
    ('submit_knapp') [<? echo ($m); ?>] .style.visibility='visible'  ">

 

OK, så långt funkar det fint. Dvs att när jag klickar i en textruta så blankas rutan, den blir röd, och jag kan skriva in text.

Dessutom kommer det en submitknapp, som är kopplad till rätt postnr.

 

Nu skall jag ju fixa så att när jag skrivit in ny text och klickat på knappen så ska jag plocka upp texten på nåt sätt.

Det måste väl bli nåt med "onsubmit", eller hur?

Kan någon av er ge en liten hint?

 

Länk till kommentar
Dela på andra webbplatser

Nu skall jag ju fixa så att när jag skrivit in ny text och klickat på knappen så ska jag plocka upp texten på nåt sätt.

Vad menar du med plocka upp? På klientsidan innan formuläret postas, eller på php-sidan? (PHP-specifika frågor bör du ställa i PHP-forum dock)

 

Länk till kommentar
Dela på andra webbplatser

När jag tryckt på den skapade submitknappen vill jag ju i php fånga upp den nya texten. Det blir lite av det omvända problemet, att skicka över en variabel från js till php.

Jag förmodar att jag skall lägga till en onsubmit i textarean, efter onclick, men blir inte klok på hur denna ska utformas.

 

Länk till kommentar
Dela på andra webbplatser

borde inte detta funka:

 

<textarea name="ftxt" 
onclick="this.style.backgroundColor='red';
  this.readOnly = false; this.value = '';
document.getElementsByName('submit_knapp')[<? echo ($m); ?>].style.visibility='visible'; "
[color="#ff0000"]onSubmit="<? $nytext=?>document.getElementsByName('ftxt')[<? echo $m; ?>];" >[/color]


[color="#ff0000"]<input name="nytxthid" type="hidden" value="<? echo $nytext; ?>">[/color]

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...