Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Menù Scrollabile

  1. #1

    Menù Scrollabile

    Ciao a tutti!
    Io ho un piccolo problemino con il codice (del messaggio che segue questo) che dovrebbe generarmi un menù (tramite ajax) che prende le voci (del menù) dal database mysql
    Qualcuno riesce a darmi una mano?

  2. #2
    Aggiorno quanto scritto prima:

    questo è il codice della mia pagina index

    codice:
    <html>
    <head>
    	<title>Prova Ajax</title>
    	<script type="text/javascript" src="lib/prototype.js"></script>
    	<script type="text/javascript" src="src/scriptaculous.js"></script>
    	<link type="text/css" rel="stylesheet" href="style.css" />
    	<script type="text/javascript">
    	var settings = {
    		containerId: 'container',
    		statusId: 'status',
    		processUrl: 'processor.php',
    		statusSuccessColor: '#99ff99',
    		statusErrorColor: '#ff9999'
    	}
    	</script>
    	<script type="text/javascript" src="js/script.js"></script>
    </head>
    <body onload="init();">
    	<div id="status-container">
    	Stato:
    	<span id="status"> (nessun update)</span>
    	</div>
    	
    	<div id="content">
    	<h1>Gestire menù</h1>
    	<div id="container">
    	(caricamento)
    	</div>
    	</div>
    </body>
    </html>
    e questo è il codice della mia pagina javascript script.js

    codice:
    function init() {
    	$(settings.statusId).defaultContent = $(settings.statusId).innerHTML;
    	loadItems();
    }
    
    function setStatus(msg) {
    	var isError = typeof arguments[1] == 'boolean' && arguments[1];
    	var status = $(settings.statusId);
    	
    	var options = {
    		startcolor : isError ? settings.statusErrorColor : settings.statusSuccessColor,
    		aferFinish: function() {
    			this.update(this.defaultContent);
    			}.bind(status)
    		};
    	
    	status.update(msg);
    	new Effect.Highlight(status, options);
    }
    
    function loadItems() {
    	var options = {
    		method: 'post',
    		parameters: 'action=load',
    		onSuccess: loadItemSuccess(transport),
    		onFailure: loadItemFailure(transport)
    	};
    	
    	setStatus('Caricamento voci');
    	new Ajax.Request(settings.processUrl, options);
    }
    
    function loadItemFailure () {
    	setStatus('Errore caricamento voci', true);
    }
    
    function loadItemSuccess(transport) {
    	var xml = transport.responseXML;
    	var items = $A(xml.documentElement.getElementsByTagName('item'));
    	
    	if (items.size() == 0) {
    		setStatus('Nessuna voce trovata', true);
    		return;
    	}
    	
    	var listItems = $A();
    	items.each(function(s) {
    		var elt = Builder.node('li', {id : 'item_'+s.getAttribute('id') }, s.getAttribute('title'));
    		listItems.push(elt);
    	});
    	
    	var list = Builder.node('ul', { className: 'sortable', id : 'items' }, listItems);
    	var container = $(settings.containerId);
    	container.update();
    	
    	container.appendChild(list);
    	Sortable.create(list, {onUpdate: saveItemOrder.bind(list)});
    }
    
    function saveItemOder() {
    	var options = {
    		method: 'post',
    		parameters: 'action=save&' + Sortable.serialize(this),
    		onSuccess: saveItemOrderSuccess,
    		onFailure: saveItemOrderFailure
    	};
    	
    	new Ajax.Request(settings.processUrl, options);
    }
    
    function saveItemOrderFailure(transport) {
    	setStatus('Errore salvataggio ordine', true);
    }
    
    function saveItemOrderSuccess(transport) {
    	if (transport.responseTest != '1')
    		return saveItemOrderFailure(transport);
    	setStatus('Ordine salvato');
    }
    Ora l'errore che dà è sulla variabile transport che secondo lui non è definita...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.