Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Controllare radio button e data formato
Forum - Javascript - Controllare radio button e data formato

Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 15:50
Sabato, 21/04/2012
Salve, scusate del titolo ma non sapevo cosa mettere e io di javascript non so nulla e lo dovrei imparare..

ho trovato questo controllo per il form dove inserisco le notizie del mio cms..

Codice sorgente - presumibilmente Php

  1. <script language="javascript">
  2.         function CheckForm(form){
  3.                 //Avvio il controllo dei campi
  4.                 var booReturn = true;
  5.                 //strMessage
  6.                 var strMessage = "Attenzione, compilare i seguenti campi:\n"
  7.                
  8.                 //Controllo
  9.                 if(form.strTitolo.value == ""){
  10.                         strMessage += "*Titolo\n";
  11.                         booReturn = false;
  12.                 }
  13.         //Controllo
  14.                 if(form.strTesto.value == ""){
  15.                         strMessage += "*Testo\n";
  16.                         booReturn = false;
  17.                 }
  18.        
  19.                 if(form.strStato.value == ""){
  20.                         strMessage += "*strStato\n";
  21.                         booReturn = false;
  22.                 }
  23.                
  24.                 //Ritorno booReturn
  25.                 if(booReturn == false){
  26.                         alert (strMessage);
  27.                 }
  28.                 return booReturn;
  29.         }
  30.         </script>



e il form e cosi via lasciando stare che vi metto solo la parte dove mi interessa ad fare i controlli..

vorrei controllare la data che si scritta cosi 21-04-2012 e i radio button che devono essere selezionati..

ecco il form:

devo usare in questa maniera qui.. perché se uno disattiva javascript faccio i controlli via lato server..

Codice sorgente - presumibilmente Plain Text

  1. <form method="post" action="index.php?m=news&action=aggiungi"  onsubmit="return CheckForm(this);">
  2.     <table width="100%" border="1">
  3.   <tr>
  4.     <td>
  5. Titolo: </td>
  6.     <td><input type="text" name="strTitolo" id="1" value="<?php if(isset($strTitolo)){echo $strTitolo;}else { echo isset($strTitolo); }?>" size="50" maxlength="100" /></td>
  7.   </tr>
  8.   <tr>
  9.     <td>
  10. Testo Intro: </td>
  11.     <td><textarea name="strIntro" cols="70" id="2" rows="10"><?php if(isset($strIntro)){echo $strIntro;}else { echo isset($strIntro); }?></textarea></td>
  12.   </tr><tr>
  13.     <td>
  14. Testo: </td>
  15.     <td><textarea name="strTesto" cols="70" id="2" rows="20"><?php if(isset($strTesto)){echo $strTesto;}else { echo isset($strTesto); }?></textarea></td>
  16.   </tr>
  17.   <tr>
  18.     <td> </td>
  19.     <td><label>
  20.       <input type="radio" name="strStato" value="1" id="3" <?php if($strStato=='1') echo 'checked="checked"'?> />
  21.       Pubblica</label>
  22.       <label>
  23.         <input type="radio" name="strStato" value="2" id="3" <?php if($strStato=='2') echo 'checked="checked"'?>/>
  24.     Nascondi</label></td>
  25.   </tr>
  26.   <tr>
  27.     <td>Data: </td>
  28.     <td><input type="text" name="strData" id="5" value="<?php echo date("d-m-Y");?>" size="50" maxlength="100" /></td>
  29.   </tr>
  30.   <tr>
  31.     <td> </td>
  32.     <td><input type="submit" name="submit" value='invia'>
  33.     </td>
  34.   </tr></tr>
  35. </table>
  36. </form>



mi potete dire come fare?.
grazie mille.

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 8:38
Lunedì, 23/04/2012
Per la data basta che ti prendi il valore della textarea nel modo più classico possibile poi fai uno split.
funzione split vedi:http://www.w3schools.com/jsref/jsref_split.asp
Codice sorgente - presumibilmente Javascript

  1. //prelevo la data
  2.   var data = document.nomeForm.nomeTextArea.value;
  3.   //separo gg-mm-yy -> array di stringhe
  4.   var vettore = data.split("-");
  5.   //vettore[0] = gg;
  6.   //vettore[1] = mm;
  7.   //vettore[2] = yy;
  8.  
  9.  //controlli sui dati



per controllare se dei radio button sono selezionati  puoi fare una cosa cosi:

Codice sorgente - presumibilmente Php

  1. function radioChecked(radioObj) {
  2.         if(!radioObj)
  3.                return false;
  4.         var radioLength = radioObj.length;
  5.         if(radioLength == undefined)
  6.                 if(radioObj.checked)
  7.                         return true;
  8.                 else
  9.                         return false;
  10.         for(var i = 0; i < radioLength; i++) {
  11.                 if(radioObj[i].checked) {
  12.                         return true;
  13.                 }
  14.         }
  15.         return false;
  16. }



sul form di esempio:
Codice sorgente - presumibilmente Plain Text

  1. <form name="form1" action="">
  2.         <input type="radio" name="rd1" value="1"/>
  3.     <input type="radio" name="rd1" value="2"/>
  4.     <input type="radio" name="rd1" value="3"/>
  5.         <input type="button" value="controlla"
  6.         onclick="alert(radioChecked(document.form1.rd1))" />
  7. </form>


PM Quote
Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 11:12
Lunedì, 23/04/2012
io rinuncio perché mi costringete ad usare type=button

che io non posso usarlo perché devo usare type=submit per fare altre cose con il php..

vedo di cavarmela da solo..
ciao.
a presto.

Ultima modifica effettuata da luigi7 il 23/04/2012 alle 11:12
PM Quote
Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 11:22
Lunedì, 23/04/2012
per il radio button ho risolto era la cosa semplice da fare:
Codice sorgente - presumibilmente Javascript

  1. if(form.strStato[1].checked == false && form.strStato[0].checked == false)
  2.                 {
  3.                         strMessage += "*Selezionare lo stato\n";
  4.                         booReturn = false;
  5.                 }



ora vedo per la data..

ciao.

PM Quote
Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 11:28
Lunedì, 23/04/2012
ho risolto:
Codice sorgente - presumibilmente Javascript

  1. if(form.strStato[1].checked == false && form.strStato[0].checked == false)
  2.                 {
  3.                         strMessage += "*Selezionare lo stato\n";
  4.                         booReturn = false;
  5.                 }
  6.                 re = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
  7.                 if(form.strData.value != '' && !form.strData.value.match(re))
  8.                 {
  9.                 strMessage += "*data invalida\n";
  10.                 booReturn = false;
  11.                 }



grazie lo stesso.

PM Quote