Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: check form+textarea

  1. #1
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345

    check form+textarea

    ciao sto utilizzando il controllo del form
    di dreamweaver estensione yaromat
    ma questa non mi controlla la textarea si può modificare
    e se si come faccio??

    vi posto il codice

    ------------
    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function YY_checkform() { //v4.66
    //copyright (c)1998,2002 Yaromat.com
    var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
    for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj .type=='hidden'){
    if (myReq&&myObj.value.length==0){addErr=true}
    if ((myV.length>0)&&(args[i+2]==1)){ //fromto
    var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
    } else if ((myV.length>0)&&(args[i+2]==2)){
    var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
    } else if ((myV.length>0)&&(args[i+2]==3)){ // date
    var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
    if(myAt){
    var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
    var myDate=new Date(myY,myM,myD);
    if(myDate.getFullYear()!=myY||myDate.getDate()!=my D||myDate.getMonth()!=myM){addErr=true};
    }else{addErr=true}
    } else if ((myV.length>0)&&(args[i+2]==4)){ // time
    var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
    } else if (myV.length>0&&args[i+2]==5){ // check this 2
    var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
    if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
    if(!myObj1.checked){addErr=true}
    } else if (myV.length>0&&args[i+2]==6){ // the same
    var myObj1 = MM_findObj(args[i+1]);
    if(myV!=myObj1.value){addErr=true}
    }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
    var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
    var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
    if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    if (args[i+2]==2){
    var myDot=false;
    for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
    if(!myDot){myErr+='* ' +args[i+3]+'\n'}
    }
    } else if (myObj.type=='checkbox'){
    if(args[i+2]==1&&myObj.checked==false){addErr=true}
    if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
    if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
    if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
    }
    if (myErr!=''){alert('Ci sono delle informazione mancanti oppure non sono corrette:\t\t\t\t\t\n\n'+myErr)}
    document.MM_returnValue = (myErr=='');
    }
    ------


    ciao

  2. #2
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345
    up

  3. #3
    Originariamente inviato da andy_s
    up
    ahem... quel codice è decisamente impressionante... :|
    che tipo di controlli ti servono, e su quali tipi di campi?

  4. #4
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345
    ti spiego è un guestbook
    avrei bisogno che mi controllase i seguenti campi
    nome (qualsiasi cosa, basta che ci sia)
    citta (qualsiasi cosa, basta che ci sia)
    commento (qualsiasi cosa, basta che ci sia)
    email (email corretta)
    tutto qua!

    c'è qualcosa di meno "impressionante"??

    ciao

  5. #5
    fai così:

    codice:
    function controllo(f) {
     var nome=f.cnome.value;
     var citta=f.ccitta.value;
     var commento=f.ccommento.value;
     var mail=f.cmail.value;
     if (nome=="") {
      alert("Inserire il nome.");
      return false;
     }
     if (citta=="") {
      alert("Inserire la città.");
      return false;
     }
     if (commmento=="") {
      alert("Inserire il commento.");
      return false;
     }
     if (mail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)==-1) {
      alert("Inserire un indirizzo mail corretto.");
      return false;
     }
     return true;
    }
    da avviare così:

    codice:
    <form name="nomeform" onsubmit="return controllo(this);" ...>
    ciao

  6. #6
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345
    io metto solo il tuo codice
    ma non funziona.

    non esce neanche un alert

  7. #7
    Originariamente inviato da andy_s
    io metto solo il tuo codice
    ma non funziona.

    non esce neanche un alert
    fammi leggere come stai utilizzando il mio codice.

  8. #8
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345
    ti posto tutto

    -----------
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function controllo(f) {
    var nome=f.cnome.value;
    var citta=f.ccitta.value;
    var commento=f.ccommento.value;
    var mail=f.cmail.value;
    if (nome=="") {
    alert("Inserire il nome.");
    return false;
    }
    if (citta=="") {
    alert("Inserire la città.");
    return false;
    }
    if (commmento=="") {
    alert("Inserire il commento.");
    return false;
    }
    if (mail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)==-1) {
    alert("Inserire un indirizzo mail corretto.");
    return false;
    }
    return true;
    }


    //-->
    </script>
    </head>

    <body>
    <form name="form1" method="post" action="segna.asp" onsubmit="return controllo(this);">
    <table width="400" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td><font face="arial" size=2> *Nome: </font></td>
    <td><input name="Name" type="text" id="Name" size=30></td>
    </tr>
    <tr>
    <td><font face="arial" size=2>*Citt&agrave;: </font></td>
    <td><input name="City" type="text" id="City" size=30></td>
    </tr>
    <tr>
    <td><font face="arial" size=2>*Email: </font></td>
    <td><input name="Email" type="text" id="Email" size=40></td>
    </tr>
    <tr>
    <td><font face="arial" size=2>URL: </font></td>
    <td><input name="URL" type="text" id="URL" value="http://" size=40></td>
    </tr>
    <tr>
    <td><font face="arial" size=2>*Messaggio: </font></td>
    <td><textarea name="Comments" cols=50 rows=5 wrap="virtual" id="Comments"></textarea></td>
    </tr>
    <tr>
    <td></td>
    <td>

    <input name="submit" type="submit" value=" Invia ">
    <input type="hidden" name="Flag" value=1>

    <input name="reset" type="reset" value="Cancella"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    --------------------

    dove sbaglio???

  9. #9
    ahem... ovviamente devi adattare i nomi dei campi (i miei sono un esempio) che ho messo nella funzione con quelli effettivamente presenti nel tuo form.

    dunque f.cnome.value diventa f.Name.value e così per gli altri.

    ciao

  10. #10
    Utente di HTML.it L'avatar di andy_s
    Registrato dal
    Apr 2000
    Messaggi
    345
    ho fatto cosi
    ----
    var nome=f.cName.value;
    var citta=f.cCity.value;
    var commento=f.cComments.value;
    var mail=f.cEmail.value;
    -----
    ma non funziona ugualmente

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.