Oppure

Loading
21/04/12 13:50
luigi7
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..

<script language="javascript">
	function CheckForm(form){
		//Avvio il controllo dei campi
		var booReturn = true;
		//strMessage
		var strMessage = "Attenzione, compilare i seguenti campi:\n"
		
		//Controllo
		if(form.strTitolo.value == ""){
			strMessage += "*Titolo\n";
			booReturn = false;
		}
	//Controllo
		if(form.strTesto.value == ""){
			strMessage += "*Testo\n";
			booReturn = false;
		}
	
		if(form.strStato.value == ""){
			strMessage += "*strStato\n";
			booReturn = false;
		}
		
		//Ritorno booReturn
		if(booReturn == false){
			alert (strMessage);
		}
		return booReturn;
	}
	</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..

   <form method="post" action="index.php?m=news&action=aggiungi"  onsubmit="return CheckForm(this);">
    <table width="100%" border="1">
  <tr>
    <td>
Titolo:&nbsp;</td>
    <td><input type="text" name="strTitolo" id="1" value="<?php if(isset($strTitolo)){echo $strTitolo;}else { echo isset($strTitolo); }?>" size="50" maxlength="100" /></td>
  </tr>
  <tr>
    <td>
Testo Intro:&nbsp;</td>
    <td><textarea name="strIntro" cols="70" id="2" rows="10"><?php if(isset($strIntro)){echo $strIntro;}else { echo isset($strIntro); }?></textarea></td>
  </tr><tr>
    <td>
Testo:&nbsp;</td>
    <td><textarea name="strTesto" cols="70" id="2" rows="20"><?php if(isset($strTesto)){echo $strTesto;}else { echo isset($strTesto); }?></textarea></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><label>
      <input type="radio" name="strStato" value="1" id="3" <?php if($strStato=='1') echo 'checked="checked"'?> />
      Pubblica</label>
      <label>
        <input type="radio" name="strStato" value="2" id="3" <?php if($strStato=='2') echo 'checked="checked"'?>/>
    Nascondi</label></td>
  </tr>
  <tr>
    <td>Data:&nbsp;</td>
    <td><input type="text" name="strData" id="5" value="<?php echo date("d-m-Y");?>" size="50" maxlength="100" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value='invia'>
    </td>
  </tr></tr>
</table>
</form>


mi potete dire come fare?.
grazie mille.
aaa
23/04/12 6:38
Bonny
Per la data basta che ti prendi il valore della textarea nel modo più classico possibile poi fai uno split.
funzione split vedi:w3schools.com/jsref/…
  //prelevo la data
  var data = document.nomeForm.nomeTextArea.value;
  //separo gg-mm-yy -> array di stringhe 
  var vettore = data.split("-");
  //vettore[0] = gg;
  //vettore[1] = mm;
  //vettore[2] = yy;

 //controlli sui dati


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

function radioChecked(radioObj) {
        if(!radioObj)
               return false;
        var radioLength = radioObj.length;
        if(radioLength == undefined)
                if(radioObj.checked)
                        return true;
                else
                        return false;
        for(var i = 0; i < radioLength; i++) {
                if(radioObj[i].checked) {
                        return true;
                }
        }
        return false;
}


sul form di esempio:
<form name="form1" action="">
        <input type="radio" name="rd1" value="1"/>
    <input type="radio" name="rd1" value="2"/>
    <input type="radio" name="rd1" value="3"/>
        <input type="button" value="controlla"
        onclick="alert(radioChecked(document.form1.rd1))" />
</form>
aaa
23/04/12 9:12
luigi7
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 23/04/12 9:12
aaa
23/04/12 9:22
luigi7
per il radio button ho risolto era la cosa semplice da fare:
if(form.strStato[1].checked == false && form.strStato[0].checked == false)
		{
			strMessage += "*Selezionare lo stato\n";
			booReturn = false;
		}


ora vedo per la data..

ciao.
aaa
23/04/12 9:28
luigi7
ho risolto:
	if(form.strStato[1].checked == false && form.strStato[0].checked == false)
		{
			strMessage += "*Selezionare lo stato\n";
			booReturn = false;
		}
		re = /^\d{1,2}\-\d{1,2}\-\d{4}$/; 
		if(form.strData.value != '' && !form.strData.value.match(re)) 
		{
		strMessage += "*data invalida\n";
		booReturn = false;
		}


grazie lo stesso.
aaa