Salve, ho questa index dove al click su un button vorrei far apparire in un fieldset altri elementi (input text). Questo è l' HTML:
Codice HTML:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <meta http-equiv="Content-Language" content="it" /> <meta name="Description" content="Danilo Polani official website" /> <meta name="Keywords" content="danilo polani, Danilo P., danilo p, Danilo Polani" /> <meta name="Owner" content="Danilo P." /> <meta name="Author" content="Danilo P." /> <meta name="Copyright" content="Danilo P." /> <link href="css/style.css" rel="stylesheet" type="text/css" /> <link href="css/favicon.gif" rel="icon" type="image/gif" /> <script type="text/javascript" src="js/poll.js"></script> <script type="text/javascript" src="js/jquery-1.3.2.js"></script> <script type="text/javascript" src="js/load.js"></script> <script type="text/javascript" src="js/utility.js"></script> <title>MyBeat Poll - Nuovo sondaggio</title> </head> <body onLoad="controlla();"> <div id="menu"> <span id="tp">Home</span> <a href="?action=add" class="nospace">Nuovo sondaggio</a> <a href="?action=edit" class="nospace">Modifica sondaggio</a> <a href="?action=delete" class="nospace">Elimina sondaggio</a> <a href="http://beateaters.it">Contattaci</a> </div> <div id="container"> <div id="header"> <div id="logo"></div> </div> <div id="content"> <form action="/mybeatpoll/index.php?action=add" method="POST" id="form-add"> Scrivi qui sotto le scelte disponibili per la votazione. Se non bastano, puoi cliccare su "Aggiungi" e se ce ne sono troppi clicca su "Rimuovi".<br /><br /> <span style="float: left;"><input type="button" onClick="aggiungi_scelta();" style="margin-right: 20px;" value="Aggiungi" /><input type="button" value="Rimuovi" onClick="rimuovi();" /></span><span style="float: right;"><input type="submit" id="submit" value="Crea" name="crea" /></span><div style="clear: both; margin-bottom: 15px;"></div> <fieldset id="info_sondaggio"><legend><input type="text" name="nome_votazione" value="Nuova Votazione" onClick="this.value='';" style="width: 250px;" /></legend> <input type="text" name="opzione[]" value="Prima scelta.." id="opzione-uno" onKeyDown="controlla();" onKeyUp="controlla();" onClick="this.value='';" /><br /><br /> <input type="text" name="opzione[]" value="Seconda scelta.." id="opzione-due" onKeyDown="controlla();" onKeyUp="controlla();" onClick="this.value='';" /><br /><br /> </fieldset> </form> </div> <div id="cp">Copyright 2011 ©. All rights reserved to Danilo P.</div> </div> </body> </html>
Mentre il contenuto di poll.js (dove c'è la funzione aggiungi_scelta) è:
Codice:function aggiungi_scelta () { $("<div id='nuova_scelta'><input type='text' name='opzione[]' value='Nuova scelta..' /></div><br />").appendTo("#info_sondaggio"); } function cancella_scelta () { $("#nuova_scelta").remove(); } function controlla { var uno = document.getElementById('opzione-uno').value; var due = document.getElementById('opzione-due').value; if(uno == "" || due == "") { $("#submit").attr('disabled', 'disabled'); } else { $("#submit").removeAttr('disabled'); } }
Il problema è che al click su "Aggiungi" non succede nulla. (Come si può vedere dall' html ho incluso jquery-1.3.2, il mio browser ha i js attivi e l' hosting supporta jquery).
Può dipendere dal fatto che i codici si trovino in un case dello switch di un parametro passato per get? (ad esempio se action (passato via GET) è "login", appare una cosa, se è "add" un' altra etc.)
----- EDIT -----
EDIT:
A quanto pare dava problemi questa funzione:
Codice:function controlla { var uno = document.getElementById('opzione-uno').value; var due = document.getElementById('opzione-due').value; if(uno == "" || due == "") { $("#submit").attr('disabled', 'disabled'); } else { $("#submit").removeAttr('disabled'); } }

LinkBack URL
About LinkBacks
