Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Test a profili (non funziona)

    Salve,
    ho creato un test a profili in javascript ma non funziona.
    Viene visualizzato correttamente sul browser, ma quando vado a cliccare per calcolare il risultato non succede nulla.

    Sareste in grado (sempre se volete) di trovarmi eventuali errori nel codice?
    In realtà è la prima volta che uso javascript, sono un newbie totale.

    Qui sotto riporto il codice, con dati esempio all'interno però.
    Evidenziata in rosso c'è una riga che IE mi segnala come errore.

    codice:
    <script type="text/javascript">
    <a href="javascript:process();"> 
    {
    	var survey = document.survey;
    	var i = 0;
    	var j = 0;
    	var value = "-1";
    	var result = "";
    
    	var x = 0;
    	var y = 0;
    	var z = 0;
    
    	for (i = 0; i < survey.q1.length; i++) if (survey.q1[i].checked) value = survey.q1[i].value;
    	switch (value) {
    		case "1": x+=3; y+=1; z+=1; break;
    		case "2": z+=3; y+=3; x+=2; break;
    		case "3": y+=3; z+=2; x+=2; break; }
    
    	for (i = 0; i < survey.q2.length; i++) if (survey.q2[i].checked) value = survey.q2[i].value;
    	switch (value) {
    		case "1": x+=3; y+=2; z+=1; break;
    		case "2": z+=2; x+=2; y+=1; break;
    		case "3": y+=3; x+=3; z+=2; }
    
    	i = x;
    	result= "x";
    	if (x > i) { result = "x"; i = x; }
    	if (y > i) { result = "y"; i = y; }
    	if (z > i) { result = "z"; i = z; }
    
    		      }
    } 
    
    	var win = window.open('', 'win','width=750,height=500,top=100,left=100,scrollbars=yes,resizable=yes');
    	with (win.document) {
    		open("text/html", "replace");
    
    		document.write("<html><head><title>Risultato\<\/title>\<\/head>");
                    document.write("<body text="#ffffff" link="#ff0000" vlink="#00C6FF" bgcolor="#000000"><div align="justify">");
    
    		document.write("<center><h2>[b]<font family="Book Antiqua, Times New Roman" color="#ff0000">...:\<\/font><\/b>\<\/h2>\<\/center>");
    		document.write("
    <center><h1>[b]<font family="Book Antiqua, Times New Roman">");
    
    		switch (result) {
    			case "x": write("x "); break;
    			case "y": write("y "); break;
    			case "z": write("z "); }
    
    		switch (result) {
    			case "x": xx; break;
    			case "y": yy; break;
    			case "z": zz; }
    
    </script>
                            1. xxxxxxxxxxxxx:
                            
    
                            <input name="q1" type="radio" value="1"> x
    
                            <input name="q1" type="radio" value="2"> y
    
                            <input name="q1" type="radio" value="3"> z
    
                            2. zzzzzzzzzzzzzzz:
                            
    
                            <input name="q2" type="radio" value="1"> x
    
                            <input name="q2" type="radio" value="2"> y
    
                            <input name="q2" type="radio" value="3"> z
    
    
                                                    
    
    <input onClick="process();" type="button" value="???" name="button">
    Grazie in anticipo.

  2. #2
    Beh, se scrivi dell'html DENTRO uno script javascript, sfido che non funziona!
    inverce di:
    codice:
    <script type="text/javascript">
    <a href="java-script:process();"> 
    {
    	var survey = document.survey;
    ... eccetera
    presumo ci vada scritto:
    codice:
    <script type="text/javascript">
    function process() 
    {
    	var survey = document.survey;
    ... eccetera
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Grazie.

    Però ora mi dà errore qui ma io non riesco a trovarlo:

    codice:
                    document.write("<body text="ffffff" link="ff0000" vlink="00C6FF" bgcolor="000000"><div align="justify">");
    Credo debba mettere un punto e virgola ma non saprei dove :master:

  4. #4
    Un po' troppe virgolette, non ti sembra?
    Le virgolette che sono dentro una stringa delimitata da virgolette vanno 'escapate':
    codice:
    document.write("<body text=\"ffffff\" link=\"ff0000\" vlink=\"00C6FF\" bgcolor=\"000000\"><div align=\"justify\">");
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Grazie, ma ora dice che nella stessa riga c'è una carattere non valido .

  6. #6
    Sono riuscito a risolvere da solo fortunatamente.

    Meno fortunatamente però adesso si presentano due altri problemi:

    il popup si apre appena apro la pagina e dice che "result" non è definito .

  7. #7
    Scusate l'up ma mi servirebbe assolutamente aiuto, nessun'altro ha idea di come aiutarmi?

    (Comunque non upperò più)

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.