H henkz Medlem sedan apr. 2002 183 inlägg Frågan 29 juli 2007 10:29 #1 Formuläret nedan fungerar när man skriver och trycker på Enter knappen.
Dock inte div med bilden.
Behöver hjälp med två saker:
1. Skulle vilja att det även går att klicka på bilden för skickning av formuläret.
2. Om man trycker shift+enter ska det bli radbyte.
Någon som kan hjälpa mig i rätt väg?
<form name="insertus">
<textarea id="msg" name="msg" rows="2" onKeyDown="if(event.keyCode==13) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>
<div style="width:102px;height:69px;cursor:hand;" onKeyDown="if(event.keyCode==13) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());">
<img src="design/bigsubmit.jpg" width="102" height="68" alt="" border="0" >
</div>
</form>
Ska inte vara så svårt, skapa först en variabel som håller reda på om shift är nertryckt sedan shiftar du mellan true/false med den variabeln.... ex:
<script type="text/javascript">
var ShiftIn = 0;
</script>
<textarea id="msg" name="msg" rows="2" onkeyup="if (event.keyCode==16) ShiftIn = 0;" onKeyDown="if (event.keyCode==16) ShiftIn = 1;if((event.keyCode==13) && (ShiftIn == 0)) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>
tror den bör funka, har inte testat men så funkar vl principen iallafall tror dock att mac kan vara kinkig när det gäller keycode 16, nån läsare har jag för mig krånglar, mest troligt safari.
sedan till få bilden att skicka så lägg till detta i img-taggen
onclick="makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+document.getElementById('msg').value+'&rnd='+Math.random());"
du kan också göra en länk om du hellre vill...
Inget testat men som sagt bör funka
event.shiftKey gör jobbet också, det buggar i Firefox v1 - v1.5 eller något sånt... resultatet blir då alltid true om jag minns rätt.
H henkz Medlem sedan apr. 2002 183 inlägg Tack för hjälpen!
Funkade nästan perfekt.
När jag gör radbrytning med shift+enter, hur kan jag plocka ut denna radbrytning?
jag tänkte köra en replace:
msg = Replace(msg, vbCrLf, "<br>")
Detta fungerar inte. Hur kan jag lösa detta?
H henkz Medlem sedan apr. 2002 183 inlägg Behöver fortfarande lite hjälp med detta.
Kan man inte på nått vis få till detta? eller är det tekniskt omöjligt?
C colione Medlem sedan juni 2001 4 421 inlägg Prova med att bara göra en replace på vbCr eller vbLf
H henkz Medlem sedan apr. 2002 183 inlägg Fungerar tyvärr inte. Har provat det.
vet inte exakt vad du vill göra men
prova något sådant:
msg = msg.replace(/\r\n/, "<br />");
lek lite med regex så får du nog till det precis som du vill ha
H henkz Medlem sedan apr. 2002 183 inlägg Det hela är tänkt att fungera som MSN.
När man trycker "shift+enter" blir det radbyte och vanlig "enter" skickas formuläret.
Det hela fungerar på sidan, men när jag ska få radbrytningen ersatt med <br> fungerar det inte. Det blir ingen radbrytning alls.
Har försökt erätta med vbCr, vbLf, vbcrlf , det löser inte problemet.
.asp ex: msg = Replace(msg, vbcrlf, "<br>")
Sätter jag in mönstret: "/\r\n/, "<br />" blir texten hej:
h
e
j
Räcker det att ändra lite i regexp mönstret?
C colione Medlem sedan juni 2001 4 421 inlägg set r=new regexp
r.pattern="[\r\n]{1,}"
r.global=true
r.multiline=true
f="Hej"&vbcrlf&"jag heter"&vbcr&"bertil"&vblf&"nilsson"
m=r.replace(f,"<br>")
H henkz Medlem sedan apr. 2002 183 inlägg Tack!
Men det fungerar ändå inte. Blir inga radbrytningar.
Kan felet ligga här:
<script type="text/javascript">
var ShiftIn = 0;
</script>
<textarea id="msg" name="msg" rows="2" onkeyup="if (event.keyCode==16) ShiftIn = 0;" onKeyDown="if (event.keyCode==16) ShiftIn = 1;if((event.keyCode==13) && (ShiftIn == 0)) makeRequest('chatt_save.asp?chattid=<%=chattid%>&msg='+this.value+'&rnd='+Math.random());" style="overflow:auto;width:100%;height:40px;"></textarea>
C colione Medlem sedan juni 2001 4 421 inlägg Hmm, har du lust att skapa en sida som spottar ut den inskickade datan omslutet med pre-taggar som vi kan kontrollera på?
H henkz Medlem sedan apr. 2002 183 inlägg Det ger inte så mycket info det.