messaggio visualizzato in una finestra

mediasteno

Utente Attivo
25 Gen 2010
120
0
0
Ho bisogno di un piccolo aiutino. Ho creato un form per far inserire all'utente la propria email in un database, ora vorrei che i vari messaggi (campi vuoti, l'email inserita non è una email valida, email già presente) vengano visualizzati in una finestra tipo popup. Qualcuno mi può dare una indicazione su come fare? Grazie
 
Ciao,puoi provare con javascript
HTML:
<script>
    function controllo(form){
        if(form.email.value == "") {
            var mes = window.open("","","width=300,height=100");
            mes.document.write("Campo mail obbligatorio");
        }else{
            form.submit();
        }
    }
</script>
<form onsubmit="controllo(this);return false">
    <input type="text" name="email" />
    <input type="submit" name="invia"/>
</form>
i popup come javascript si possono disabilitare da browser di conseguenza il controllo lato server rimane necessario
 
questa soluzione potrebbe andare. Ma se volessi, invece, visualizzare tooltip di jquery come dovrei fare?
 
Ciao,puoi provare con javascript
HTML:
<script>
    function controllo(form){
        if(form.email.value == "") {
            var mes = window.open("","","width=300,height=100");
            mes.document.write("Campo mail obbligatorio");
        }else{
            form.submit();
        }
    }
</script>
<form onsubmit="controllo(this);return false">
    <input type="text" name="email" />
    <input type="submit" name="invia"/>
</form>
i popup come javascript si possono disabilitare da browser di conseguenza il controllo lato server rimane necessario


Ho adottato questa soluzione, ma vorrei personalizzare la finestra, non sono pratica di javascript e non so come posso cambiare il colore di sfondo e del font della finestra.
Inoltre, per evitare che il titolo del messaggio sia "Senza titolo" come posso fare?

Io ho modificato il codice in questo modo:

Codice:
<script type="text/javascript">
    function controllo(form){
        if((form.nl_email.value == "") || (form.nl_name.value == "") || (form.nl_citta.value == "")) {
            var mes = window.open("","messaggio di errore!","width=400,height=200,left=300,top=100,toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no");
            mes.document.write("Non hai inserito il tuo nome, la tua email e/o la tua città! ");
        }else{
            form.submit();
        }
    }
</script>
 
Volevo spostare la discussione nel forum di javascript ma non so come si fa.

Dato che io di javascript conosco poco ho bisogno di una mano. Ho creato un form per l'iscrizione alla newsletter con file testuale. Il mio codice è questo:
HTML:
      <h2 class="title">Iscriviti alla Newsletter</h2>
      <form method="post" action="#" onsubmit="controllo(this);return false">
        <fieldset>
          <legend>Modulo:</legend>
          <label for="nl_name">Nome:</label>
          <input type="text" name="nl_name" id="nl_name" value="">
          <label for="nl_email">Email:</label>
          <input type="text" name="nl_email" id="nl_email" value="">
		  <label for="nl_citta">Città:</label>
          <input type="text" name="nl_citta" id="nl_citta" value="">
	  
          <button type="submit" value="submit" name="op" class="button">Invia</button>
        </fieldset>
      </form>

ed in php

PHP:
			<?php
			 if((isset($_POST['op'])) && ($_POST['op']=='submit'))  {		 
				$cnome = $_POST['nl_name'];
				$cemail = $_POST['nl_email'];
				$ccitta = $_POST['nl_citta'];
				if (($cnome == null) && ($cemail == null) && ($ccitta == null))
				{ 
				   echo "Non hai inserito il tuo nome e la tua email";
				} else {
					  $pattern="^[^@ ]+@[^@ ]+\.[^@ \.]+$";
					  if (!ereg($pattern,$cemail)) 
					  {
						echo "L'email che hai inserito non è valida";
					  } else 
				{
					 $noemail = 1;
					 
				$messaggio = "Grazie ##NOME## per esserti iscritto alla nostra newsletter.'>";	

					$textfile = fopen("iscritti.txt", "r");
					while ($rigafile = fgets($textfile,1024)) {
					$campiriga = explode("|", $rigafile);
					$nome = $campiriga[0];
					$email = $campiriga[1];
					$localita = $campiriga[2];
					if($email == $cemail) 
						{
							$noemail = 0;
						}	
					}
				
				if ($noemail) 
					{
					 $textfile = fopen("iscritti.txt", "a");
					 $datiform = $cnome . "|" . $cemail . "|" . $ccitta . "\n";
					 fwrite($textfile, $datiform);	
						$messaggio = ereg_replace("##NOME##",$cnome,$messaggio);
						echo "$messaggio";					 
					}
					  else 
					{
					   echo "La tua email è già presente all'interno del nostro archivio";
					 }
					fclose($textfile);					
				}

				}
					  }
			?>


Ora per renderli meglio visibili a chi sottoscrive il form voglio che i messaggi compaiono in una finestra e su suggerimento di cric ho utilizzato il codice in javascript:

Codice:
<script type="text/javascript">
    function controllo(form){
        if((form.nl_email.value == "") || (form.nl_name.value == "") || (form.nl_citta.value == "")) {
            var mes = window.open("","messaggio di errore!","width=400,height=200,left=300,top=100,toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no");
            mes.document.write("Non hai inserito il tuo nome, la tua email e/o la tua città! ");
        }else{
            form.submit();
        }
    }
</script>

ma a questo punto ho due problemi:

1) come posso personalizzare la finestra
2) Come si fa in javascript il controllo degli altri parametri del form? Oltre a verificare se i campi non siano vuoti voglio anche verificare che si tratti di una email valida ed inoltre che non sia una email già inserita nel dbase, ma non so impostare javascript per le altre due funzioni :crying:

Qualcuno disposto a darmi una mano? Ho cercato su internet qualche esempio ma non trovato
 

Discussioni simili