O Oputres Medlem sedan feb. 2004 333 inlägg Frågan 12 nov. 2005 00:19 #1 Allå!
Jag hittade nedanstående script som skapar tre knappar med å, ä och ö som vid knapptryck infogar motsvarande bokstav i ett formulärfält (t) i ett formulär (f). Jag har nedanstående kod i en inc-fil som jag länkar in brevid formuläret. Detta fungerar utmärkt.
Problemet är att jag på en sida har TRE formulär och är i behov av tre uppsättningar med å, ä och ö-knappar. Jag har provat lite olika varianter men alla infogningar hamnar i det tredje (och sista) formuläret.
Jag antar att jag bör ha tre separata inc-filer där jag byter namn på vissa nyckelord, alltså från "nyckelord" till "nyckelord2" och "nyckelord3", i de olika inc-filerna. Uppenbarligen ändrar jag inte på rätt nyckelord då alla knapptryck ändå bara hamnar i det tredje formuläret. Vilka ord är det egentligen jag skall ändra?
<script type="text/javascript">
var cPos,
fObj,
ieC = Boolean(document.selection && document.selection.createRange);
function sC() {
cPos = document.selection.createRange().duplicate();
}
window.onload = function() {
fObj = document.forms["f"].elements["t"];
if (ieC) {
fObj.onclick = function() { sC(); }
fObj.onkeyup = function() { sC(); }
fObj.onselect = function() { sC(); }
}
}
function inschar(c){
if (ieC){
if (typeof cPos != "undefined"){
cPos.text = c;
} else {
fObj.value += c;
}
} else if (typeof window.HTMLTextAreaElement != "undefined"){
fObj.value = fObj.value.substring(0, fObj.selectionStart)
+ c
+ fObj.value.substring(fObj.selectionEnd);
}
}
</script>
<input type="button" value="å" onclick="inschar('å')">
<input type="button" value="ä" onclick="inschar('ä')">
<input type="button" value="ö" onclick="inschar('ö')">
P Peter S Medlem sedan dec. 2002 5 483 inlägg Tjena!
Exempel:
<script type="text/javascript">
var cPos,
fObj1,
fObj2,
fObj3,
ieC = Boolean(document.selection && document.selection.createRange);
function sC() {
cPos = document.selection.createRange().duplicate();
}
window.onload = function() {
fObj1 = document.forms["f"].elements["t1"],
fObj2 = document.forms["g"].elements["t2"],
fObj3 = document.forms["h"].elements["t3"];
if (ieC) {
fObj1.onclick = fObj2.onclick = fObj3.onclick = function() { sC(); }
fObj1.onkeyup = fObj2.onkeyup = fObj3.onkeyup = function() { sC(); }
fObj1.onselect = fObj2.onselect = fObj3.onselect = function() { sC(); }
}
}
function inschar(c,o){
if (ieC){
if (typeof cPos != "undefined"){
cPos.text = c;
} else {
o.value += c;
}
} else if (typeof window.HTMLTextAreaElement != "undefined"){
o.value = o.value.substring(0, o.selectionStart)
+ c
+ o.value.substring(o.selectionEnd);
}
}
</script>
<form name="f">
<textarea name="t1"></textarea>
<input type="button" value="å" onclick="inschar('å',this.form.elements['t1'])">
<input type="button" value="ä" onclick="inschar('ä',this.form.elements['t1'])">
<input type="button" value="ö" onclick="inschar('ö',this.form.elements['t1'])">
</form>
<form name="g">
<textarea name="t2"></textarea>
<input type="button" value="å" onclick="inschar('å',this.form.elements['t2'])">
<input type="button" value="ä" onclick="inschar('ä',this.form.elements['t2'])">
<input type="button" value="ö" onclick="inschar('ö',this.form.elements['t2'])">
</form>
<form name="h">
<textarea name="t3"></textarea>
<input type="button" value="å" onclick="inschar('å',this.form.elements['t3'])">
<input type="button" value="ä" onclick="inschar('ä',this.form.elements['t3'])">
<input type="button" value="ö" onclick="inschar('ö',this.form.elements['t3'])">
</form>
O Oputres Medlem sedan feb. 2004 333 inlägg Allå! Tyvärr hamnar å, ä, ö i slutet av texten. I ovanstående exempel hamnar den där markören står. Finns det något smidigt sätt att fixa till detta i ditt exempel?
P Peter S Medlem sedan dec. 2002 5 483 inlägg För mig hamnar bokstäverna där markören står.
O Oputres Medlem sedan feb. 2004 333 inlägg När jag kopierade rakt av gjorde dem det. Då skall vi bara leta upp var det är jag schabblar till det när jag anpassar det till min sida :)