Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Prompt che invia comunque

    Ho qualche problema con questo prompt:
    codice:
    function newcart(){
    var maxLen = 20;
    var maxLen2 = 20;
    var actLen = maxLen + 1;
    var actLen2 = maxLen2 + 1;
    
    newcart = window.prompt('Nome del carrello', '<%=replace((Ucase(strUid)&"ID"&session.sessionId)," ","")%>');
    
    while (actLen > maxLen) {
    		newcart = trim(newcart);
    		actLen = newcart.length;
    		
    		if (actLen > maxLen) {
    			alert('Il nome del carrello non deve superare i 20 caratteri.');
    		}
    	}
    	
    newuser = window.prompt('Nome del propietario', '<%=replace(strUid," ","")%>');
    
    	while (actLen2 > maxLen2) {
    		newuser = trim(newuser);
    		actLen2 = newuser.length;
    		
    		if (actLen2 > maxLen2) {
    			alert('Il nome non deve superare i 20 caratteri.');
    		}
    	}
    document.location.href="gest_cart.asp?sys=1&cmd=1&nn="+newcart+"&nu="+newuser;
    }
    Credo sia colpa del document.location, ma sinceramente non so come fare per passare la variabile alla pagina successiva

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Descrivi meglio il problema o posta un link... provare a reinventarsi la tua pagina per riprodurre l'errore prende troppo tempo

    ciao

    ps: non postare sintassi ASP nel sorgente... non abbiamo idea di come verra' elaborata dal server, posta quello che riceve il browser (o un link alla pagina)

    pps: comunque e' window.location non document.location
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ah ok.
    In pratica in questo prompt dico il nome del carrello nel mio ecommerce. Se magari ci ripenso clicco su annulla e in teoria dovrebbe fermarsi tutto e non fare niente, invece prosegue e invia la pagina lo stesso
    codice:
    function newcart(){
    var maxLen = 20;
    var maxLen2 = 20;
    var actLen = maxLen + 1;
    var actLen2 = maxLen2 + 1;
    
    newcart = window.prompt('Nome del carrello', 'GRINDERID188455680');
    
    while (actLen > maxLen) {
    		newcart = trim(newcart);
    		actLen = newcart.length;
    		
    		if (actLen > maxLen) {
    			alert('Il nome del carrello non deve superare i 20 caratteri.');
    		}
    	}
    	
    newuser = window.prompt('Nome del propietario', 'grinder');
    
    	while (actLen2 > maxLen2) {
    		newuser = trim(newuser);
    		actLen2 = newuser.length;
    		
    		if (actLen2 > maxLen2) {
    			alert('Il nome non deve superare i 20 caratteri.');
    		}
    	}
    document.location.href="gest_cart.asp?sys=1&cmd=1&nn="+newcart+"&nu="+newuser;
    }
    Al pulsante
    codice:
    onClick="return newcart();
    Comunque finora "document.location" ha sempre funzionato....

  4. #4
    Originariamente inviato da br1
    comunque e' window.location non document.location
    credo sia la stessa cosa



    Originariamente inviato da Grinder
    function newcart(){
    ...
    newcart = window.prompt ...
    non è che per caso è un problema di scope e che usando newcart dentro la funzione di nome newcart , essendo questa a scope globale, non ti ritrovi modificata tale funzione ?


    io li dentro proverei con
    var newcart = window.prompt( ...

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Al nome a dir il vero non ci avevo proprio pensato...ora l'ho cambiato, ho apportato le modifiche che mi hai detto, ma non si ferma lo stesso!

  6. #6
    Originariamente inviato da Grinder
    Al nome a dir il vero non ci avevo proprio pensato...ora l'ho cambiato, ho apportato le modifiche che mi hai detto, ma non si ferma lo stesso!
    intanto lascialo con var davanti ... poiche' è una var che ti serve e non un global scope

    poi ... usi la funzione trim che da quanto so' esiste in VBScript ma in JavaScript ? ... no


    poi ... perche' non butti via Internet Explorer e non usi FireFox che con la sua console JavaScript al 99% dei casi ti dice esattamente che cosa c'e' che non va ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Firefox lo uso...più che IE...trim è solo un nome dato alla funzione, potevo anche chiamarla ciccio

  8. #8
    Originariamente inviato da Grinder
    Firefox lo uso...più che IE...trim è solo un nome dato alla funzione, potevo anche chiamarla ciccio
    benissimo, allora cerca di capire che non abbiamo la sfera di cristallo e che se non ci posti la pagina non possiamo aiutarti perche' col tuo codice, senza la trim, senza quello che serve per testare, non possiamo sapere cosa non va


    [edit]
    oppure dicci cosa devi fare di preciso, che magari risolviamo prima e meglio
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Ok posto tutto.

    In questa pagina io creo i carrelli dell'e-commerce. Se l'utente si sbaglia a cliccare sul tasto crea, allora all'apertura del prompt può cliccare su annulla e lo script si ferma. Purtroppo lo script prosegue e crea il carrello comunque!!!
    codice:
    <td class="testo_10_scuro" style="border-left: 1px solid rgb(177, 188, 206); padding: 25px 15px 35px;" align="left" valign="top"><table style="margin-bottom: 10px;" border="0" cellpadding="0" cellspacing="0" width="100%">
            <tbody><tr>
              <td width="100%"><a href="?sys=2" class="linknero_10">
              Carrello attivo</a> | <a href="?sys=1&amp;idc=GRINDERID188455684" class="linknero_10" style="text-decoration: underline;">
              [img]imgecom/fr_link.gif[/img]Elenco carrelli</a> <span class="testo_10">|</span> <a href="?sys=3" class="linknero_10">
    
              Preferiti</a> </td>
              <td style="display: none;" align="left" nowrap="nowrap" valign="middle"><form action="" method="get" name="naviga" class="formcompatto" id="naviga">
                  Pagina: 
                      <select name="select" class="inputform_9"><option>1</option><option>2</option><option>3</option><option>4</option></select>
              </form></td>
            </tr>
    
          </tbody></table>
    
    <script language="JavaScript"> 
    function trim(str){ 
    	var str1 = str.replace(/^ +/, ""); 
    	str1	 = str1.replace(/ +$/, ""); 
    	return str1; 
    }
    
    function nuovoCarr(){
    var maxLen = 20;
    var maxLen2 = 20;
    var actLen = maxLen + 1;
    var actLen2 = maxLen2 + 1;
    
    var newcart = window.prompt('Nome del carrello', 'GRINDERID188455684');
    
    while (actLen > maxLen) {
    		newcart = trim(newcart);
    		actLen = newcart.length;
    		
    		if (actLen > maxLen) {
    			alert('Il nome del carrello non deve superare i 20 caratteri.');
    		}
    	}
    	
    var newuser = window.prompt('Nome del propietario', 'Grinder');
    
    	while (actLen2 > maxLen2) {
    		newuser = trim(newuser);
    		actLen2 = newuser.length;
    		
    		if (actLen2 > maxLen2) {
    			alert('Il nome non deve superare i 20 caratteri.');
    		}
    	}
    document.location.href="gest_cart.asp?sys=1&cmd=1&nn="+newcart+"&nu="+newuser;
    }
    
    function elimina()
    {
    	return confirm("Sei sicuro di voler eliminare i carrelli indicati?");
    }
    
    function eliminaSing()
    {
    	return confirm("Sei sicuro di voler eliminare il carrello indicato?");
    }
    //--> 
    </script> 
    <form action="gest_cart.asp" method="get" name="gestcarr" class="formcompatto" id="gestcarr">
    <div style="margin-bottom: 20px; margin-top: 10px;" class="testo_11_arancio">Nessun carrello presente nell'elenco.</div>
      <input name="nuovocarr" id="nuovocarr" style="margin-left: 2px; margin-bottom: 2px;" onclick="return nuovoCarr();" onmouseover="this.src = 'imgecom/pulcart/pulnCar-on.gif'" onmouseout="this.src = 'imgecom/pulcart/pulnCar-off.gif'" src="imgecom/pulcart/pulnCar-off.gif" align="center" type="image">
    </form>
    </td>

  10. #10
    Originariamente inviato da Grinder
    In questa pagina io creo i carrelli dell'e-commerce. Se l'utente si sbaglia a cliccare sul tasto crea, allora all'apertura del prompt può cliccare su annulla e lo script si ferma. Purtroppo lo script prosegue e crea il carrello comunque!!!
    prova con questa
    codice:
    function newcart(maxlength1, maxlength2) {
    	function trim(str) {
    		return str.replace(/^\s*([^\000]+?)\s*$/, '$1');
    	}
    	var carrello = window.prompt('Nome del carrello', 'GRINDERID188455680');
    	if(carrello != null) {
    		carrello = trim(carrello);
    		if(carrello.length <= maxlength1) {
    			var utente = window.prompt('Nome del propietario', 'grinder');
    			if(utente != null) {
    				utente = trim(utente);
    				if(utente.length <= maxlength2)
    					document.location.href = 'gest_cart.asp?sys=1&cmd=1&nn=' + carrello + '&nu=' + utente;
    				else
    					alert('Il nome non deve superare i ' + maxlength2 + ' caratteri.');
    			}
    		}
    		else
    			alert('Il nome del carrello non deve superare i ' + maxlength1 + ' caratteri.');
    	}
    	return false;
    }
    esempio
    onclick="newcart(20, 20);"

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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 © 2025 vBulletin Solutions, Inc. All rights reserved.