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

    problema "is not a function"

    ciao a tutti; ho un popup creato con javascript al cui interno ho altro codice javascript per la cancellazione di un form all'interno del medesimo pop up:
    codice:
    mywindow.document.write("<"+'s'+"cript language='javascript'>function svuota(oForm) {var frm_elements=oForm.elements;for(i=0; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}");
        mywindow.document.write("\nfunction mai(oForm) {var frm_elements=oForm.elements;for(i=1; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}");
        mywindow.document.write("\nfunction sempre(oForm) {var frm_elements = oForm.elements;for(i=1; i<frm_elements.length-1; i++) { frm_elements[i].checked = true;}}</"+'s'+"cript>");
    il problema è che di queste tre funzioni, solo la prima funziona.
    Se prendo la secondo e copio il corpo della prima cambiando quindi solo il nome rispetto alla prima, non funziona, firefox mi restituisce l'errore (al click) che mai o sempre "is not a function".
    Grazie in anticipo.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Una document.write eseguita in una funzione sovrascrive l'intero documento , righe di istruzioni successive comprese.

    Se spieghi meglio cosa vorresti ottenere si potrebbe trovare un'alternativa.

    ciao
    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
    codice:
    function display(e,partecipazione) {
        if(!e) e = window.event;
        if (!partecipazione)
          partecipazione="";
        var start=1994;
        var x=e.pageX;
        var y=e.pageY;
        var data = new Date();
        var row=Math.ceil((data.getFullYear()-start+3)/2)
        var count=1;
        var mywindow=window.open("","help","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=230,height="+((row*20)+60)+",screenX="+x+",screenY="+y);
        mywindow.document.write("<HTML><HEAD>");
        mywindow.document.write("<"+'s'+"cript language=\"javascript\">function svuota(oForm) {var frm_elements=oForm.elements;for(i=0; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}");
        mywindow.document.write("\nfunction mai(oForm) {var frm_elements=oForm.elements;for(i=1; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}");
        mywindow.document.write("\nfunction sempre(oForm) {var frm_elements = oForm.elements;for(i=1; i<frm_elements.length-1; i++) { frm_elements[i].checked = true;}}</"+'s'+"cript>");
        mywindow.document.write("<TITLE>Partecipazioni</TITLE>");
        mywindow.document.write("</HEAD><BODY BGCOLOR=FF9218 style='overflow-x: hidden;overflow-y: hidden;'>");
        mywindow.document.write("<div style='font-size: small'>Seleziona gli anni in cui hai collaborato con la Cerveza Band.</div>");
        mywindow.document.write("<FORM target='madre' name='anni' method='POST' action='registrazione.php'><table style='font-size: small;margin: 5px 5px 5px 5px'>");
        mywindow.document.write("\n<tr><td><input type='checkbox' name='mai' value='mai' onClick='mai(this.form)'/>mai</td>\n");
        for(i=start;i<=data.getFullYear();i++){
          if(count==0)
    	mywindow.document.write("<tr>");
          count++;
          mywindow.document.write("<td>"+"<input type='checkbox' name='"+i+"'");
          if(partecipazione.search((i+""))!=-1)
    	mywindow.document.write(" checked='yes' ");
          mywindow.document.write("value='"+i+"'/>"+i+"</td>\n");
          if(count==3){
    	mywindow.document.write("</tr>\n");
    	count=0;
          }
        }
        if(count==0)
          mywindow.document.write("<tr>");
        mywindow.document.write("<td colspan="+(3-count)+"><input type='checkbox' name='sempre' onClick='sempre(this.form)' value='sempre'/>sempre</td></tr>");
        mywindow.document.write("</table>");
        mywindow.document.write("<center><input type='submit' value='Aggiorna'><input type='button' value='Svuota' onClick='document.forms[0].reset();svuota(this.form)'><input type='button' value='Chiudi' onClick='window.close()'></FORM>");
        mywindow.document.write("</CENTER>");
        mywindow.document.write("</BODY></HTML>");
      }
    Questa è la funzione che viene chiamata per creare il popup
    io voglio semplicemente che le 3 funzioni "svuota", "mai" e "sempre" funzionassero... non riesco a vedere il problema... questo è il javascript lato client:
    codice:
    <HTML><HEAD><script language='javascript'>function svuota(oForm) {var frm_elements=oForm.elements;for(i=0; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}
    function mai(oForm) {var frm_elements=oForm.elements;for(i=1; i<frm_elements.length; i++) { frm_elements[i].checked = false;}}
    function sempre(oForm) {var frm_elements = oForm.elements;for(i=1; i<frm_elements.length-1; i++) { frm_elements[i].checked = true;}}</script><TITLE>Partecipazioni</TITLE></HEAD><BODY BGCOLOR=FF9218 style='overflow-x: hidden;overflow-y: hidden;'><div style='font-size: small'>Seleziona gli anni in cui hai collaborato con la Cerveza Band.</div><FORM target='madre' name='anni' method='POST' action='registrazione.php'><table style='font-size: small;margin: 5px 5px 5px 5px'>
    <tr><td><input type='checkbox' name='mai' value='mai' onClick='mai(this.form)'/>mai</td>
    <td><input type='checkbox' name='1994'value='1994'/>1994</td>
    <td><input type='checkbox' name='1995'value='1995'/>1995</td>
    </tr>
    <tr><td><input type='checkbox' name='1996'value='1996'/>1996</td>
    <td><input type='checkbox' name='1997'value='1997'/>1997</td>
    <td><input type='checkbox' name='1998'value='1998'/>1998</td>
    
    </tr>
    <tr><td><input type='checkbox' name='1999'value='1999'/>1999</td>
    <td><input type='checkbox' name='2000'value='2000'/>2000</td>
    <td><input type='checkbox' name='2001'value='2001'/>2001</td>
    </tr>
    <tr><td><input type='checkbox' name='2002'value='2002'/>2002</td>
    <td><input type='checkbox' name='2003'value='2003'/>2003</td>
    <td><input type='checkbox' name='2004'value='2004'/>2004</td>
    </tr>
    <tr><td><input type='checkbox' name='2005'value='2005'/>2005</td>
    
    <td><input type='checkbox' name='2006'value='2006'/>2006</td>
    <td><input type='checkbox' name='2007'value='2007'/>2007</td>
    </tr>
    <tr><td><input type='checkbox' name='2008'value='2008'/>2008</td>
    <td><input type='checkbox' name='2009'value='2009'/>2009</td>
    <td colspan=1><input type='checkbox' name='sempre' onClick='sempre(this.form)' value='sempre'/>sempre</td></tr></table><center><input type='submit' value='Aggiorna'><input type='button' value='Svuota' onClick='document.forms[0].reset();svuota(this.form)'><input type='button' value='Chiudi' onClick='window.close()'></FORM></CENTER></BODY></HTML>

  4. #4
    con chromium la funzione "svuota" ha preso a funzionare, ma per le altre nada..

  5. #5
    up

  6. #6
    up

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.