webForumDet fria alternativet

Hämta funktion ur annan js fil.

JavaScript

14 svar · 678 visningar · startad av jwradhe

Medlem sedan juni 2002711 inlägg
Frågan#1

Har ett mailformulär som använder sig av en dosubmit() ur email.js ,
I slutet av denna funktion så ska den köra funktion doSearchActions() som ligger i enannanfil.js och köra den.

Men hur gör jag detta?

Medlem sedan apr. 2008137 inlägg
#2

Du måste inkludera båda filerna på din sida? Detta går att göra statiskt på siten, eller dynamiskt genom att inserta din andra js-fil i DOM innan funktionsanropet ska göras.
Förstod du inte det senare föreslår jag det första :)
dvs
<script type='text/javascript' src='email.js' />
<script type='text/javascript' src='enannanfil.js' />

Medlem sedan jan. 2005713 inlägg
#3

glöm inte </script>

r/ eller behövs inte det när du stänger med />.. isåfall har jag missat något, man lär så länge.. :)

glöm isåfall vad jag sa.

Medlem sedan juni 2002711 inlägg
#4

detta funkar även om sidan ja skickar dosubmit() med är en popup och den har email.js , och sidan ja vill skicka dosearchactions() ligger på en annan sida?

Medlem sedan juni 20019 519 inlägg
#5

så länge den hittar funktionen i någon av dina inkulderade filer så går det bra.
En notis: <script> taggen som du skriver kommer inte fungera i Internet Explorer

<script type="text/javascript" src="email.js"></script>
Medlem sedan juni 2002711 inlägg
#6

hjälper inte att includera js filen på sidan ja kör dosubmit(), eftersom det ska hänta nåt på sidan "ErrandMaintenance", utan nåt i stil med window.opener.DoSearchActions(); typ, men jag får det ändå inte att fungera. :(

fel: Object doesn't support this property or method.

Medlem sedan juni 20019 519 inlägg
#7

Filen som du "öppnar" måste ju också ha <script> taggarna.
window.opener har inte en funktion som heter DoSearchActsions() du får ha det i det nyas fönstrets onload i bodyn.

Medlem sedan juni 2002711 inlägg
#8

men window.opener ska väl förstå och köra funktionen DoSearchActions(); som finns i det fönstret som är opener till fönstret jag vill köra den ifrån. Låter idiotiskt när man förklarar :D

Medlem sedan juni 20019 519 inlägg
#9

Vad heter funktionen doSearchActions() eller DoSearchActions() ? Öppnar du ett nytt fönster så kan du använda dig av window.opener. Om du länkar in JS filerna rätt så kommer det att fungera.

Medlem sedan juni 2002711 inlägg
#10

ska försöka beskriva här.
ErrandMaintenance har funktionen doSearchActions() i en js fil includerad.
sen via ErrandMaintenance så klickar jag en knapp där jag får upp en popup ruta.
I denna finns funktionen DoSubmit() som körs genom att ja trycker en "send" knapp här och via DoSubmit() funktinen, det sista den gör, är att köra DoSearchActions() som ligger i ErrandMaintenance så att den uppdateras.
Hoppas jag förklarade bättre nu :D

detta har jag försökt använda mig av window.opener.doSearchActions();

och det är här jag får Object doesn't support this property or method.

Medlem sedan juni 20019 519 inlägg
#11

Jag testade:

test.html:

Javascriptet som jag vill köra när jag trycker på min popup knapp?:

function t() {
	alert('fungera detta?');
}

openWin() {
	myWindow=window.open('test2.html','MyName','width=200,height=100');
	myWindow.focus()
}

Har en länk som kör openWin

i test2.html har jag bara:

<script type="text/javascript">
function doSomething() {
	window.opener.t();
}
</script>
<a href="#" onclick="doSomething()">asd</a>

jag får ett meddelande: fungera detta?. Jag ser inte varför det inte skulle fungera.

Medlem sedan juni 2002711 inlägg
#12

Mitt bygger på samma exempel som ditt, fast min första sida ligger i nåt jävla ramverk.
Kanske det som spökar? Jag vet nämligen en annan popup på siten som gör precis desamma, fast annan funktion den anroppar. förstår inte varför ena funkar, medans andra inte gör det.

Medlem sedan juni 20019 519 inlägg
#13

hur ser javascriptet ut för dig som öppnar ett nytt fönster?

Medlem sedan juni 2002711 inlägg
#14

Såhär:

function sendMail() {
	try {
    	//Specify uri to open the new window with correct information.
		var uri = prov.baseUri + 'action=dialog;instanceid=8;user=' + prov.user + ';key=' + prov.key; 
				
		//Extra parameter so the new window get the errand number.
		var errandNr = document.getElementById('errand-nr2').value;
		errandNr = parseInt(errandNr);
		uri += ';errandNr=' + errandNr + ';';
				
		if (errandNr > 0) {
        	//Open the new window.
            prov.openWin(uri, 'email', 'yes',540 ,730);
		} else alert("No Errand Specified");
    } catch(oe) { alert("Error 047: \n\n" + oe.message); }
}
Medlem sedan juni 2002711 inlägg
#15

jag tror inte problemet ligger i att den hämtar fel funktion, utan något med window.opener för kör jag detta:

var newObj = window.opener;
newObj.document.getElementById('errandDescription_Update').value;
alert(use);

Så hittar den inte denna heller, allt jag försöker köra från window opener hittar den inte.
Hur kan jag traca fram varför den inte fattar eller hur den får fram sidan, typ window.opener.opener eller nåt :P

hare!

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)