webForumDet fria alternativet

Javascript problem i formulär

4 svar · 277 visningar · startad av jlee

jleeMedlem sedan dec. 2002381 inlägg
#1

Jag lägger till kod i formulär med denna kod i head...(formen heter news)

<script language="Javascript">
<!--
function redigera(red) {
doc_content = document.news.news.value + red
document.news.news.value = doc_content
document.news.news.focus()
}
// -->
</script>

Och denna kod i body:

<A HREF="javascript:redigera('<b>')">Fetstil</a>

Detta funkar men tyvärr så går det inte att ha samma funktion i nästa formulär på samma sida...även om jag byter namn på funktionen....den funkar bara till första formen...varför?

Peter SMedlem sedan dec. 20025 484 inlägg
#2

Du måste ju även byta ut "news" i funktionen mot det andra formulärets namn. Om vi gör om din funktion till:

function redigera(frm, elm, red){
    document.forms[frm].elements[elm].value += red;
}

Nu kan du anropa funktionen enligt redigera('formulärnamn', 'input-namn', 'red-värde') och återanvända den till andra formulär.

jleeMedlem sedan dec. 2002381 inlägg
#3

Lagt till detta

Har lagt in detta till formen "news"

<script language="Javascript">
<!--
function redigera(news, elm, red){
    document.forms[news].elements[elm].value += red;
}
// -->
</script>

Anropar med:

<A HREF="javascript:redigera('<b>')">Fetstil</a>

Men det verkar inte funka...

News ser ut såhär:

<textarea name="news" cols="70" rows="13" id="news"></textarea>
mozillaMedlem sedan juli 20011 202 inlägg
#4

Nej du har missat hälften av vad Peter S skrev. du måste anropa med redigera('formulärnamn', 'input-namn', 'red-värde') dvs

<a href="#" onclick="redigera('news', 'news', '<b>')">

eller ännu bättre

function redigera(elm, red) {
  document.getElementById(elm).value += red;
}

och

<a href="#" onclick="redigera('news','<b>')">

så har du olika id på varje element som du vill redigera

jleeMedlem sedan dec. 2002381 inlägg
#5

Tack, detta funkar fint!

Genererad på 386 ms · cache AV · v20260730165559-full.f96bc7eb