Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    32

    htmlarea e submit del form

    ok, risolto un problema, ne arriva un altro...

    devo controllare dei campi textarea implementati con htmlarea

    se metto nel form onSubmit="return controlli();" i controlli li fa ma ignora il return false e va avanti lo stesso anche se ci sono errori!!!

    se metto un tasto button con onClick=controlli(); e nella funzione controlli il f.submit();
    i controlli funzionano, il form mi parte solo se i campi sono compilati, però dall'altra parte non mi ritrovo il contenuto dei campi textarea!!

    cosa può essere successo??

    Mica

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    onSubmit va scritto in minuscolo "onsubmit"

    ... onsubmit="return controlli();">

    inizia fermando la funzione con degli alert e guardando se il codice si comporta esattamente come ti aspetti. Se non ne vieni a capo potresti postare il corpo della funzione controlli()
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    32
    onsubmit era già minuscolo nel form

    questa è la porzione di codice:
    se la var error è vuota ritorna true, altirmenti false

    l'alert me lo da, ma poi parte il form:

    if (error=='') {
    return true;
    } else {
    alert('Alcuni campi obbligatori non sono stati compilati.'+"\n"+error);
    return false;
    }



    il form è così:
    <form onsubmit="return verificaForm('FormUpdate');" action="update.php" method="post" name="FormUpdate" id="FormUpdate">

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    32
    ho provato togliendo l'html area e l'onsubmit funziona ...
    che dite, rifaccio tutto con un altro editor???
    vi risulta che fckeditor dia questi problemi?
    Mica

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prova a postare la funzione verificaForm prima. magari c'è qualcosa che non va lì
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    32
    eccola, anche se non so quanto possa essere chiara

    <script type="text/javascript">
    <!--

    var str_HtmlArea = 'risposta';

    var msg=new Array();


    msg['id_domanda']='Non compilato il campo id.';
    msg['domanda']='Non compilato il campo domanda.';
    msg['risposta']='Non compilato il campo risposta.';
    msg['data_inserimento']='Non compilato il campo data inserimento.';
    msg['mese']='Non compilato il campo mese.';
    msg['anno']='Non compilato il campo anno.';
    msg['id_attivita']='Non compilato il campo id attivita.';


    function verificaForm(nomeForm) {
    var f=document.forms[nomeForm];
    var error='';
    var contenuto, i;
    var is_htmlarea=-1;
    var arrayHtmlArea=new Array();
    arrayHtmlArea=str_HtmlArea.split(',');

    switch (f.act.value) {
    case '_insert':
    case '_update':
    // controllo i campi
    // ciclo solo sui campi da controllare
    var arrayRequired = f.elements['_required'].value.split(',');
    //alert(arrayRequired);
    for (i=0; i<arrayRequired.length; i++) {
    contenuto='';

    if (f.elements[arrayRequired[i]].type=="textarea") {
    // html area
    //alert(f.elements[arrayRequired[i]].type);
    is_htmlarea=str_HtmlArea.indexOf(arrayRequired[i]);
    //alert(is_htmlarea);

    if (is_htmlarea>=0) {

    for (var v in arrayHtmlArea) {

    if (arrayHtmlArea[v]==arrayRequired[i]) {
    if (v==0) contenuto=editor0.getHTML();
    if (v==1) contenuto=editor1.getHTML();
    if (v==2) contenuto=editor2.getHTML();
    if (v==3) contenuto=editor3.getHTML();
    if (v==4) contenuto=editor4.getHTML();
    //alert(v + ' - ' + contenuto);
    }

    }

    // tolgo i tag html
    contenuto=contenuto.replace('','');
    contenuto=contenuto.replace('

    ','');
    contenuto=contenuto.replace('</p>','');
    contenuto=contenuto.replace('

    ','');
    contenuto=contenuto.replace('</P>','');

    } else contenuto=f.elements[arrayRequired[i]].value;
    } else contenuto=f.elements[arrayRequired[i]].value;
    //alert(contenuto);
    if (contenuto=='') {
    //alert(msg[arrayRequired[i]]);
    error +="\n" + msg[arrayRequired[i]];
    }
    }
    //alert('error' + error);
    if (error=='') {
    return true;
    } else {
    alert('Alcuni campi obbligatori non sono stati compilati.'+"\n"+error);
    return false;
    }

    break;

    case '_delete':
    // chiedo conferma di eliminazione
    if (confirm("L'operazione eliminerà definitivamente il record.\n\nConfermi?")) return true; //f.submit();
    else return false;

    break;

    default:
    return false;
    } // end switch

    return false;

    } // end func

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    32
    immagino che la funzione js che ho postato non fosse troppo esplicativa...
    cmq, se non ho html nel form, tutto funziona bene... credo che sia il codice javascript che devo mettere nella pagina a dare fastidio... la consolle js di firefox mi da una caterva di warning...

    con altri editor avete incontrato gli stessi problemi?

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.