Controllo parole campo form
Buona sera a tutti, ho ancora bisogno del vostro aiuto scusate,
come al solito non so se è una cosa fattibile considerando che sono due gg che cerco di sbrigarmela da sola...
Allora, ho realizzato un semplice guestbook con dati salvati in file txt, nel quale ho inserito dei tasti bbcode per inserimento tag html, anche in caso di inserimento di un url, ora la mia domanda è: Si può fare in modo che un indirizzo url sia inserito solo attraverso il pront del bbcode?
Vorrei poter evitare di ritrovarmi con url scritte come testo, e immagini giganti postate che mi smembrano la pagina... attraverso il bbcode si visualizza solo il tipico [Link] che uno va ad aprire comodamente quando vuole^^
Ho inserito un controllo per i vari campi in javascript affinché se viene fatto un errore non occorra riscrivere tutto e pensavo di poter integrare appunto il controllo dell'inserimento url del campo relativo al messaggio ma non mi riesce proprio...
Ecco il codice che uso x i controlli:
Codice HTML:
<script language="javascript">
<!--
function validate_form()
{
// Variabili associate ai campi del modulo
var nikname = document.modulo.nikname.value;
var urlsito = document.modulo.urlsito.value;
var email = document.modulo.email.value;
var messaggio = document.modulo.messaggio.value;
// Espressione regolare dell'email
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (email != "") {//se email è diverso da nullo
if (!email_reg_exp.test(email)) {//allora controlla che email sia corretto o valido
alert("Occorre inserire un corretto indirizzo E-mail\n o lasciare il campo vuoto!");
document.modulo.email.focus();
return false;
}
}
//qui fai lo stesso per l'url, solo http:
var isUrl_reg_exp = /(http):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;//solo http
if (urlsito != "") {
if (!isUrl_reg_exp.test(urlsito)) {
alert ("Inserisci url del tuo spazio web in modo corretto.\n Assicurati di aver scritto anche http://\n o lascia il campo vuoto.");
document.modulo.urlsito.focus();
return false;
}
}
if ((nikname == "") || (nikname == "undefined")) // 1° controllo. Campo Nickname che è obbligatorio
{
alert("Hai dimenticato di scrivere\n il tuo nickname ^_^");
document.modulo.nikname.focus();
return false;
}
if ((messaggio == "") || (messaggio == "undefined")) // 2° controllo. Campo messaggio che è obbligatorio
{
alert("Un messaggio senza messaggio...\n che messaggio è!?!");
document.modulo.messaggio.focus();
return false;
}
return true;
}
//-->
</script>
E questo è il codice per i tastini bbcode:
Codice HTML:
<script type="text/javascript">
function link(){
var url=prompt("Inserisci url","http://");
if (url)document.modulo.messaggio.value = document.modulo.messaggio.value +("<a target='_blank' href=" +url+ ">[Link]</a>");
}
function grassetto(){
var bold=prompt("Testo in grassetto","");
if (bold)document.modulo.messaggio.value = document.modulo.messaggio.value +("<b>" +bold+ "</b>");
}
function corsivo(){
var corsivo=prompt("Testo in corsivo","");
if (corsivo)document.modulo.messaggio.value = document.modulo.messaggio.value +("<i>" +corsivo+ "</i>");
}
function sottolineato(){
var sottolineato=prompt("Testo sottolineato","");
if (sottolineato)document.modulo.messaggio.value = document.modulo.messaggio.value +("<u>" +sottolineato+ "</u>");
}
function code(){
var code=prompt("Codice","");
if (code)document.modulo.messaggio.value = document.modulo.messaggio.value +("<code>" +code+ "</code>");
}
</script>
*****************************************************
Tasti:
<input type="button" value="b" style="width:50px;font-weight:bold" onClick="grassetto()" />
<input type="button" value="i" style="width:50px;font-style: oblique;font-weight:bold" onClick="corsivo()" />
<input type="button" value="u" style="width:50px;text-decoration: underline;font-weight:bold" onClick="sottolineato()" />
<input type="button" value="code" style="width:50px;font-weight:bold" onClick="code()" />
<input type="button" value="url" style="width:50px;font-weight:bold" onClick="link()"><br />
Mi sapete dire "se e come" si può risolvere questo problema? Grazie