webForumDet fria alternativet

popup värde

8 svar · 338 visningar · startad av WiZzLeR

WiZzLeRMedlem sedan juni 2002346 inlägg
#1

Hej.

Jag vill att i ett popupfönster som öppnas såhär:

javascript:window_url='fil.php';x=window.open(window_url,'xx','width=500,height=150,scrollbars=0,resizable=0');x.focus()

så ska man kunna välja ett värde i ett select input och sedan när man trycker på en submitknapp så stängs rutan och värdet läggs in i en textarea där länken fanns för att öppna popuppen.

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

Hej!

I popupfönstret:

<script type="text/javascript">

function addValue(obj){
    var sel = obj.elements["namn_på_select"];

    window.opener.document.forms["namn_på_formulär_i_huvudfönstret"].elements["namn_på_textarea"].value = sel.options[sel.selectedIndex].value;

    window.close();

    return false;
}

</script>

<form onsubmit="return addValue(this)"

:)

WiZzLeRMedlem sedan juni 2002346 inlägg
#3

japp verkar fungera =)

en sak dock.

Jag är inte så het på javascript men om jag vill lägga till lite text innan. typ add när det är submit så addas;

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

window.opener.document.forms["namn_på_formulär_i_huvudfönstret"].elements["namn_på_textarea"].value = "[IMG]" + sel.options[sel.selectedIndex].value + "[/IMG]";
WiZzLeRMedlem sedan juni 2002346 inlägg
#5

mm ett litet problem som jag märkte imorse. Om man redan har text i textarean så försvinner allt och ersätts med värdet. Går det att få in, , där det är markerat?

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

I popupfönstret:

<script type="text/javascript">

function addValue(obj){
    var sel	= obj.elements["s"],
	opdoc	= window.opener.document,
	ta	= opdoc.forms["f"].elements["ta"],
	str	= "[IMG]" + sel.options[sel.selectedIndex].value + "[/IMG]";

    if (opdoc.selection && opdoc.selection.createRange){
	var range = window.opener.window["range"];
	if (range != null)
	    range.text = str;
	else
	    ta.value += str;
    }

    else if (typeof ta.selectionStart != "undefined" && typeof ta.selectionEnd != "undefined")
	ta.value = ta.value.substring(0, ta.selectionStart) + str + ta.value.substring(ta.selectionEnd);

    window.close();

    return false;
}

</script>

<form onsubmit="return addValue(this)">

Ovan har jag döpt <select>-elementet i popupfönstret till s, formuläret i huvudfönstret till f samt <textarea>n till ta.

I huvudfönstret:

<script type="text/javascript">

var range = null;

window.onload=function(){
    document.getElementById("popup").onbeforeactivate=function(){
	if (window.event.fromElement == document.forms["f"].elements["ta"])
	    range = document.selection.createRange();
    }
}

</script>

I ovanstående kodstycke har jag satt id-attributet på submitknappen till popup, alltså id="popup".

:)

WiZzLeRMedlem sedan juni 2002346 inlägg
#7

jo det börjar likna något =) heh tack. En sak till. Nu addas värdet sist. Går det att få värdet där "den-blinkande-markören" ligger i textearean eller har jag gjort något fel?

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

För mig fungerar det bra, så chansen är nog stor att något gått fel för dig.

Jag har laddat upp ett exempel: http://member.webforum.nu/Peter S/temp.html.

WiZzLeRMedlem sedan juni 2002346 inlägg
#9

yes nu fungerar det! Tack Peter S.

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