Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Form Email Js

  1. #1

    Form Email Js

    ciao a tutti,
    avrei un problemino.
    Ho acquistato un template che contiene in seguente file denominato forms.js
    Vorrei integrarlo con il sito ma non rieco a farlo.
    Qualcuno puo dirmi cosa devo fare per farlo funzionare?
    grazie

    (function($){
    $.fn.extend({
    forms:function(opt){
    if(opt===undefined)
    opt={}
    this.each(function(){
    var th=$(this),
    data=th.data('forms'),
    _={
    errorCl:'error',
    emptyCl:'empty',
    invalidCl:'invalid',
    successCl:'success',
    successShow:'4000',
    mailHandlerURL:'bin/MailHandler.php',
    ownerEmail:'info@giranapoli.it',
    stripHTML:true,
    smtpMailServer:'localhost',
    targets:'input,textarea',
    controls:'a[data-type=reset],a[data-type=submit]',
    validate:true,
    rx:{
    ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
    ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
    ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},
    ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
    ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
    ".message":{rx:/.{20}/,target:'textarea'}
    },
    preFu:function(){
    _.labels.each(function(){
    var label=$(this),
    inp=$(_.targets,this),
    defVal=inp.val(),
    trueVal=(function(){
    var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
    return defVal==''?defVal:tmp
    })()
    trueVal!=defVal
    &&inp.val(defVal=trueVal||defVal)
    label.data({defVal:defVal})
    inp
    .bind('focus',function(){
    inp.val()==defVal
    &&(inp.val(''),_.hideEmptyFu(label),label.removeCl ass(_.invalidCl))
    })
    .bind('blur',function(){
    !inp.val()
    ?inp.val(defVal)
    _.isValid(label)
    ?_.showErrorFu(label)
    :_.hideErrorFu(label)),
    (_.isEmpty(label)
    ?_.showEmptyFu(label)
    :_.hideEmptyFu(label))
    })
    .bind('keyup',function(){
    label.hasClass(_.invalidCl)
    &&_.isValid(label)
    ?_.showErrorFu(label)
    :_.hideErrorFu(label)
    })
    label.find('.'+_.errorCl+',.'+_.emptyCl).css({disp lay:'block'}).hide()
    })
    _.success=$('.'+_.successCl,_.form).hide()
    },
    isValid:function(el){
    var ret=true,
    empt=_.isEmpty(el)
    if(empt)
    ret=false,
    el.addClass(_.invalidCl)
    else
    $.each(_.rx,function(k,d){
    if(el.is(k))
    d.rx.test(el.find(d.target).val())
    ?(el.removeClass(_.invalidCl),ret=false)
    :el.addClass(_.invalidCl)
    })
    return ret
    },
    isEmpty:function(el){
    var tmp
    return (tmp=el.find(_.targets).val())==''||tmp==el.data(' defVal')
    },
    validateFu:function(){
    _.labels.each(function(){
    var th=$(this)
    _.isEmpty(th)
    ?_.showEmptyFu(th)
    :_.hideEmptyFu(th)
    _.isValid(th)
    ?_.showErrorFu(th)
    :_.hideErrorFu(th)
    })
    },
    submitFu:function(){
    _.validateFu()
    if(!_.form.has('.'+_.invalidCl).length)
    $.ajax({
    type: "POST",
    url:_.mailHandlerURL,
    data:{
    name:$('.name input',_.form).val()||'nope',
    email:$('.email input',_.form).val()||'nope',
    phone:$('.phone input',_.form).val()||'nope',
    fax:$('.fax input',_.form).val()||'nope',
    state:$('.state input',_.form).val()||'nope',
    message:$('.message textarea',_.form).val()||'nope',
    owner_email:_.ownerEmail,
    stripHTML:_.stripHTML
    },
    success: function(){
    _.showFu()
    }
    })
    },
    showFu:function(){
    _.success.slideDown(function(){
    setTimeout(function(){
    _.success.slideUp()
    _.form.trigger('reset')
    },_.successShow)
    })
    },
    controlsFu:function(){
    $(_.controls,_.form).each(function(){
    var th=$(this)
    th
    .bind('click',function(){
    _.form.trigger(th.data('type'))
    return false
    })
    })
    },
    showErrorFu:function(label){
    label.find('.'+_.errorCl).slideDown()
    },
    hideErrorFu:function(label){
    label.find('.'+_.errorCl).slideUp()
    },
    showEmptyFu:function(label){
    label.find('.'+_.emptyCl).slideDown()
    _.hideErrorFu(label)
    },
    hideEmptyFu:function(label){
    label.find('.'+_.emptyCl).slideUp()
    },
    init:function(){
    _.form=this
    _.labels=$('label',_.form)

    _.preFu()

    _.controlsFu()

    _.form
    .bind('submit',function(){
    if(_.validate)
    _.submitFu()
    else
    _.form[0].submit()
    return false
    })
    .bind('reset',function(){
    _.labels.removeClass(_.invalidCl)
    _.labels.each(function(){
    var th=$(this)
    _.hideErrorFu(th)
    _.hideEmptyFu(th)
    })
    })
    _.form.trigger('reset')
    }
    }
    if(!data)
    (typeof opt=='object'?$.extend(_,opt):_).init.call(th),
    th.data({cScroll:_}),
    data=_
    else
    _=typeof opt=='object'?$.extend(data,opt):data
    })
    return this
    }
    })
    })(jQuery)

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Alcune domande:
    A) Visto che il template l'hai acquistato, non c'è un servizio post vendita?
    B) Visto che si tratta di jquery la libreria (la versione appropriata) la carichi/includi correttamente vero?
    C) Per agevolare metti il link alla pagina pubblica, forse vendendo il tutto in azione si capisce meglio il problema
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.