Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: jQuery UI Dialog

Mason [22.06.2010 14:26:52]

#

Kysellääs jos täällä olis joku paininu saman ongelman kanssa:

Eli kyseessä siis javascript ongelma. Käytän tuota jQuery UI Dialog laajennusta, ja aukaisen sen avulla uuden sivun dialog -tyylisesti. Kuinka tässä uudessa sivussa saan javascriptin toimimaan? Javascript toimii sivulla, kun se aukaistaan normaalisti omana ikkunanaan, mutta dialogiin aukaistuna ei inahdakaan. Tällä hetkellä javascript sijaitsee sivun headissa, mutta olen kokeillut myös lisätä sitä tuonne aukaistavan sivun puolelle, mutta se ei ole auttanut.

Olli [22.06.2010 14:55:26]

#

Linkkiäkin voisi laittaa?

tsuriga [23.06.2010 00:05:12]

#

Käytettäessä load-metodia kyseisen ikkunan onload-tapahtuma on jo suoritettu, joten jos koodisi sijaitsee ladattavalla sivulla tällaisen lohkon sisällä, sitä ei suoriteta. JavaScript kyllä suoritetaan (testattu Fx:llä).

Mason [23.06.2010 09:02:54]

#

Vaihdoin systeemin niin, että dialog aukaistaan iFrameen. Nyt ongelmana taas on, että pitäisi pystyä sulkemaan tuo dialog iframen sisältä, koska iframessa on formi joka lähetetään iframen napeilla (en ainankaan löytänyt tähän keinoa lähettää formia noillla dialogin nappuloilla, kun ei tunnista iframen sisältöä jostain syystä).

Pitääpä vielä testata tuota alkuperäistä metodia, jospa tuo sillon toimisi.

Tässä siis tuo koodi dialogin aukaisemiseksi.

$('.showPaper-modify').each(function() {
		var $dialog = $('<div></div>')
			.append($loading.clone());
		var $link = $(this).one('click', function() {
			$dialog
				.load($link.attr('href') + ' #paperinfo')
				.dialog({
					title: $link.attr('title'),
					width: 650,
					height: 750,
					modal: true,
					buttons: {
						"Accept paper": function() { window.location = "<?php echo base_url(); ?>admintools/approve/"+$link.attr('paperid')+"/accept"; },
						"Dismiss": function() { window.location = "<?php echo base_url(); ?>admintools/approve/"+$link.attr('paperid')+"/dismiss"; },
						"Cancel": function() { $(this).dialog("close"); }
					}
				});

			$link.click(function() {
				$dialog.dialog('open');
				return false;
			});


			return false;
		});
	});

tsuriga [23.06.2010 13:35:35]

#

Kyllähän nuo namiskat tuntusivat nappaavan kiinni sisältöön ku sisältöön. Päivitin yllä linkittämääni esimerkkiin nappulat, jotka muokkaavat niin dialogin kuin avaavan emosivun sisältöä. Jos ei tällä ratkea niin linkkaa rikkinäiseen sivuun, hankala yrittää muodostaa tarkkaa tilannekuvaa pelkän sepostuksen perusteella. Iframe kuulostaa tässä ylimääräiseltä purkkaratkaisulta.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta