webForumDet fria alternativet

3xInchar i 3xFormulär

5 svar · 516 visningar · startad av Oputres

OputresMedlem sedan feb. 2004333 inlägg
#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('ö')">
Peter SMedlem sedan dec. 20025 483 inlägg
#2

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>
OputresMedlem sedan feb. 2004333 inlägg
#3

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?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

För mig hamnar bokstäverna där markören står.

OputresMedlem sedan feb. 2004333 inlägg
#5

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 :)

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Återkom annars. :)

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)