WiZzLeRMedlem sedan juni 2002346 inlägg 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 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 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 Då
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 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 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 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 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 yes nu fungerar det! Tack Peter S.